批处理文件,循环遍历文件并根据扩展名检查是否存在

时间:2015-04-01 10:26:46

标签: loops batch-file file-extension

我对批处理文件相当新,所以这可能看起来有点像noob-ish,但在这里它:) 我正在尝试对文件夹中的文件应用一些过程 - 遍历文件夹中的所有文件,没有扩展名或扩展名为.csv (这部分我已经想出了:

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

但是如果我已经在该文件夹中有一个%% i.txt文件(例如,只对没有相应.txt文件的文件夹执行该命令),我想跳过这个。 这是我无法弄清楚的部分......

2 个答案:

答案 0 :(得分:2)

像这样:

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

答案 1 :(得分:0)

适用于此:

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

您需要使用替换修饰符“~n”将变量“i”仅限制为文件名,而不是扩展名。更多细节在这里: MS Win XP Documentation