Q: Hello Limagito, Now I need your help again…
I got a TXT-file delivered from my customer with approximately 250 rows.
In the txt file I like “search and replace” a text string :
;19;18;;
Should be replaced with
;36;35;;
And the string
;21;21;;
Should be replaced with
;37;37;;
I also tried to set the powershell exe file in the field for Application name (C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)
Is there any other way?
A: Yes there is, we can do this easily with our Pascal Script so no need for external scripts if you want.
In our example we’ll use a Windows folder as Source:
We only want to handle .txt file so we added the following Filename Include Filter:
As Destination we added a Pascal Script. This script will does the work you requested.
- Adjust ctOutputPath > must end with a \
- Encoding of destination text file can be adjusted
Var
tmpFileIn, tmpFileOut: String;
tmpList: TStringList;
Const
ctOutputPath = 'C:\Test\Out_Txt\';
Begin
// Init var
psExitCode:= 0;
tmpFileIn := psFilePath + psFileName;
tmpFileOut := ctOutputPath + psFileName;
// ... add your code here
tmpList := TStringList.Create;
Try
Try
tmpList.LoadFromFile(tmpFileIn);
tmpList.Text := psStringReplace(tmpList.Text, ';19;18;;', ';36;35;;');
tmpList.Text := psStringReplace(tmpList.Text, ';21;21;;', ';37;37;;');
// https://docs.microsoft.com/nl-be/windows/win32/intl/code-page-identifiers
If psSaveTxt2File(tmpList.Text, ctOutputPath + psFileName, 'ISO-8859-1', False) Then
Begin
psExitCode := 1;
psLogWrite(1, '', 'SaveToFile ' + tmpFileOut + ' Successful');
End
Else
psLogWrite(1, '', 'SaveToFile ' + tmpFileOut + ' Error');
Except
psLogWrite(1, '', 'LoadFromFile ' + tmpFileIn + ' Exception');
End;
Finally
tmpList.Free;
End;
End.
Feedback Customer:
As always you save the day! The Pascal script did my work easily. Some day I have to learn more about pascal!
I cheat some in powershell and some visual basic, but this stuff is powerful!
By the way, it only worked in the newer version of Limagito (I still have some workflows in the old version)
Thank you for help, quick and accurate, as always!
#FileTransfer #Encoding
If you need any
info about this ‘change content of a txt-file’ request, please let us know.
Best regards,
Limagito Team