Ho scritto uno script batch per sostituire una stringa nel file di testo.Script batch per trovare e sostituire una stringa in un file di testo in un minuto per file fino a 12 MB
Di seguito è riportata la sceneggiatura.
@echo off &setlocal
set "search=%1"
set "replace=%2"
set "textfile=Input.txt"
set "newfile=Output.txt"
(for /f "delims=" %%i in (%textfile%) do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
del %textfile%
rename %newfile% %textfile%
Ma per un file da 12 MB, ci vogliono quasi 7 minuti. Voglio che sia sotto un minuto. Possiamo utilizzare il comando find o findstr per ridurre il tempo impiegato?
ti dispiacerebbe, raccontando i diversi tempi, Theat le diverse soluzioni hanno bisogno per il file di 12MB? Solo per nutrire la mia curiosità. – Stephan
Non credo che il file batch sia adatto a requisiti di prestazioni così elevati. Usa altri linguaggi di scripting come python, perl, ruby ... invece –