2015-04-01 81 views
0

我对批处理文件相当新,所以这可能看起来有点noob-ish,但它在这里:) 我想在文件中应用一些过程文件夹 - 通过一个文件夹中的所有文件循环,没有扩展名的,或具有.csv扩展名 (这部分我已经想通了:批处理文件,循环遍历文件和基于扩展检查存在

for %%i in (*.csv *.) do <command> %%i -s 

但我想跳过这个如果我已经有一个% %i.txt文件在该文件夹中(即 - 仅对没有对应的.txt文件的文件夹文件执行该命令) 这是我无法弄清楚的部分... 任何帮助,将不胜感激

在此先感谢!

回答

2

像这样:

for %%i in (*.csv *.) do if not exist "%%~ni.txt" <command> %%i -s 
+0

它适用于没有扩展名的文件,但是对* .csv文件失败。如果file.txt存在,它仍然会执行file.csv的命令 – 2015-04-01 12:46:31

+0

检查编辑! – SachaDee 2015-04-01 20:59:44

+0

是的,编辑工作正常,谢谢! – 2015-04-03 13:33:10

0

它的工作原理与此:

for %%i in (*.csv *.) do if not exist "%%~ni.txt" <command> %%i -s 

您需要使用替换修改“〜N”限制变量 “i” 仅文件名称,而不是扩展名。更多细节在这里: MS Win XP Documentation