我有一组基本文件名,每个名称'f'都有两个文件,'f.in'和'f.out'。我想编写一个批处理文件(在Windows XP中),该批处理文件将遍历所有文件名,每个文件名都应:显示基本名称“ f”对“ f.in”执行操作对“ f.out”执行其他操作除了搜索* .in(或* .out)之外,我没有任何办法列出基本文件名。
3 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
如我所见,最简单的方法是使用for循环,该循环调用第二个批处理文件进行处理,并将第二个文件的基本名称传递给该文件。
根据for /?帮助,可以使用nifty〜n选项提取基本名称。因此,基本脚本将显示为:
for %%f in (*.in) do call process.cmd %%~nf
然后,在process.cmd中,假定%0包含基本名称并采取相应措施。例如:
echo The file is %0
copy %0.in %0.out
ren %0.out monkeys_are_cool.txt
在一个脚本中可能有更好的方法来执行此操作,但是对于如何在批处理文件的单个for循环中提取多个命令,我一直有些困惑。
编辑:太棒了!我以某种方式错过了文档中显示可以在FOR循环中执行多行块的页面。我现在必须回去重写一些批处理文件...
- 3 回答
- 0 关注
- 885 浏览
添加回答
举报
0/150
提交
取消