使用任何脚本和任何实用程序在 cmd 中复制“file.txt 的所有内容”并“用它替换其他文本文件中的单词”

使用任何脚本和任何实用程序在 cmd 中复制“file.txt 的所有内容”并“用它替换其他文本文件中的单词”

我有两个文件:

  • 文件1.txt
  • 文件2.txt

文件1.txt

wget --ftp-user=ezyro_19988709 --http-password=....... ftp://ftp.com/ADMIN.txt

文件2.txt

password

所以现在我想将文件 2 中的密码放入文件 1 中并替换虚线区域。现在合并两个文件后输出应如下所示:

wget --ftp-user=ezyro_19988709 --http-password=password ftp://ftp.com/ADMIN.txt" 

我该如何处理这个问题?

答案1

你应该尝试一下:

只需创建一个带扩展名的文件.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

答案2

如果你有电源外壳安装在你的 Windows 上,你可以打开它并启动此命令:

(Get-Content fullPathToFile2.txt).replace('string', (Get-Content fullPathToFile1.txt) ) | Set-Content fullPathToFile2.txt

例子:

(Get-Content I:\b.txt).replace('5', (Get-Content I:\a.txt) ) | Set-Content I:\b.txt

相关内容