我想使用 bat 文件来处理我的一项日常任务。 让我解释一下:
我的文件名称如下:
newfile_MRG.txt
newfile_DRK.txt
...
我还有一双要换。例如,我将文件名中的 MRG 更改为 XYZ,或者文件名中的 DRK 更改为 UWT。我想将文件复制到另一个文件夹并替换那里,例如它将是:
newfile_XYZ.txt
newfile_UWT.txt
我写了一个批处理文件:
@echo off
set Lang=
mkdir "Child_Locales"
copy *DRK.* "Child_Locales"
cd Child_Locales
ren *DRK.* *UWT.*
cd..
copy *MRG.* "Child_Locales"
cd Child_Locales
ren *MRG.* *XYZ.*
cd..
这并不是最佳的。每次引入或更改新的对时,我都必须更新脚本。
相反,我想创建一个 TXT 文件来写入这些对:
MRG=XYZ
DRK=UWT
...
我知道如何引入变量,但我无法设置循环并读取要从外部文件中搜索和替换的值。 你能指导我如何做吗?
最佳答案
你可以用for循环来做到这一点:
@echo off
mkdir "Child_locales">nul
for /f "tokens=1,* delims==" %%i in (somefile.txt) do (
copy "*%%i.*" "Child_Locales"
ren "Child_Locales\*_%%i.*" "*_%%j.*"
)
关于batch-file - 如何使用 Windows 批处理文件搜索值并替换为外部文件中的另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54664904/