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 setpolecenie set "textFile=%1", a następnie wywołaj go za for %f in (DirPath\FileMask) do call SetDate.cmd %fpomocą wiersza polecenia lub for %%f in (DirPath\FileMask) do call SetDate.cmd %%fw innym pliku wsadowym. Mam nadzieję, że jest jasne co DirPathi co FileMaskoznacza.
textFileprzezset "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.