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
Best regards,
Limagito Team