Chcę znaleźć ciąg np. „Data” z moich plików folderu zawierającego wiele plików „.c” i „.h” i zastąpić go „datą 24-kwietnia-2018” przy użyciu pliku wsadowego. co powinienem zrobić? Zobacz poniższy kod. Chcę zrobić to samo, ale nie dla jednego pliku Input.txt, chcę zrobić dla wielu plików z rozszerzeniami folderu
@echo off
setlocal enableextensions disabledelayedexpansion
set "search=@date"
set "replace=@date 24-apr-2018"
set "textFile=Input.txt"
for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
set "line=%%i"
setlocal enabledelayedexpansion
>>"%textFile%" echo(!line:%search%=%replace%!
endlocal
)
SetDate.cmd
, edytuj go tak, aby stało się trzecie set
polecenie set "textFile=%1"
, a następnie wywołaj go za for %f in (DirPath\FileMask) do call SetDate.cmd %f
pomocą wiersza polecenia lub for %%f in (DirPath\FileMask) do call SetDate.cmd %%f
w innym pliku wsadowym. Mam nadzieję, że jest jasne co DirPath
i co FileMask
oznacza.
textFile
przezset "textFile=%1"
, możesz wywołać ten plik wsadowy (np. O nazwieSetDate.cmd
), aby zaktualizować plik w przekazanym parametrze. Następnie możesz użyćfor %i in (DirPath\FileMask) do call SetDate.cmd %i
, podwajając,%
jeśli jest w samym pliku wsadowym.