求批处理:读取所有文件名赋值给变量,并且变量循环执行一条命令

2025-05-13 16:11:41
推荐回答(1个)
回答(1):

如果 命令行 可以这样写 就简单了:
convlog1.exe -i d:\logw3c\ex110309.log -o d:\logncsa\ -l comb
因为每行不一样的地方只有一处。
先在 d:\logw3c\ 下执行 tree /f > a.txt
然后用记事本打开 a.txt
显示:(类似这样)
Folder PATH listing
Volume serial number is 3B48-12F8
C:.
0001.log
0002.log
0003.log
0004.log
No subfolders exist
把两头没用的都删了 只留下中间有用的文件名。
然后查找替换: 把 四个空格 替换为 convlog1.exe -i d:\logw3c\ 就变成了
convlog1.exe -i d:\logw3c\0001.log
convlog1.exe -i d:\logw3c\0002.log
convlog1.exe -i d:\logw3c\0003.log
convlog1.exe -i d:\logw3c\0004.log

然后 再查找替换: 把 .log 替换为 .log -o d:\logncsa\ -l comb 就变成了

convlog1.exe -i d:\logw3c\0001.log -o d:\logncsa\ -l comb
convlog1.exe -i d:\logw3c\0002.log -o d:\logncsa\ -l comb
convlog1.exe -i d:\logw3c\0003.log -o d:\logncsa\ -l comb
convlog1.exe -i d:\logw3c\0004.log -o d:\logncsa\ -l comb
然后复制 粘贴到一个 cmd 框里面就能运行了。

如果 同一行里 必须指定两次文件名,那么还是写一个小的EXE处理一下吧。