Вы должны дать это стрелять:
Просто создайте файл с расширением .bat
, затем поместите следующий код в файл bat, вам нужно создать свои файлы (file1.txt, который содержит командную строку, и file2.txt, который содержит пароль), поместите эти два файла в тот же каталог, что и файл .bat.
Затем запустите файл, который должен работать, пожалуйста, сообщите мне, если есть какие-либо ошибки.
set replacestr=""
for /F "tokens=*" %%a in (file2.txt) do call :Foo %%a
goto End
:Foo
set replacestr=%1
call :innerloop
:innerloop
echo %replacestr%
call :FindReplace "......." %replacestr% file1.txt
exit /b
:FindReplace <findstr> <replstr> <file>
set tmp="%temp%\tmp.txt"
If not exist %temp%\_.vbs call :MakeReplace
for /f "tokens=*" %%a in ('dir "%3" /s /b /a-d /on') do (
for /f "usebackq" %%b in (`Findstr /mic:"%~1" "%%a"`) do (
echo(&Echo Replacing "%~1" with "%~2" in file %%~nxa
<%%a cscript //nologo %temp%\_.vbs "%~1" "%~2">%tmp%
if exist %tmp% move /Y %tmp% "%%~dpnxa">nul
)
)
del %temp%\_.vbs
exit /b
:MakeReplace
>%temp%\_.vbs echo with Wscript
>>%temp%\_.vbs echo set args=.arguments
>>%temp%\_.vbs echo .StdOut.Write _
>>%temp%\_.vbs echo Replace(.StdIn.ReadAll,args(0),args(1),1,-1,1)
>>%temp%\_.vbs echo end with