如果在循环中存在args,则批处理

时间:2015-10-13 12:31:38

标签: batch-file if-statement

我试图通过循环将不同的文件移动到特定的文件夹中。 对于每个文件,我设置modalite,serie_no和serie_name,并希望根据这些属性创建特定文件夹。该文件也将移动到此文件夹。

但是IF EXIST命令失败(语法不正确)。

@echo on
setlocal enabledelayedexpansion
set "arg1=%~1"
cd /d D:\!arg1!

for /r %%i in (*.*) do (

REM ...
REM stuff to set modalite, serie_no and serie_name
REM ...

if exist D:\!arg1!\!modalite!(
cd D:\!arg1!\!modalite!
) else (
mkdir D:\!arg1!\!modalite!
cd D:\!arg1!\!modalite!
)

if exist D:\!arg1!\!modalite!\!serie_no!_!serie_name!(
move %%i D:\!arg1!\!modalite!\!serie_no!_!serie_name!
) else (
mkdir D:\!arg1!\!modalite!\!serie_no!_!serie_name!
move %%i D:\!arg1!\!modalite!\!serie_no!_!serie_name!
)

)

我尝试使用"modalite""serie_no""serie_name"但仍有错误

我可以用for循环中的if exist命令吗?或者我应该使用for /f %%a in () do ()

或许还有另一种方法可以继续?我对一切都持开放态度。

0 个答案:

没有答案