如果文件夹中不存在与批处理文件不同的文件夹,则复制文件夹

时间:2015-09-30 16:13:21

标签: windows batch-file

我正在尝试复制文件夹中的所有文件(如果它们不存在于具有批处理文件的其他文件夹中)。这就是我到目前为止所拥有的。

for %%F in ("p:\Ferm batch reports\*.*") do if not exist "\Staging$\NgeBatchRecipeOriginal" copy %%F "\Staging$\Ferm batch reports\"

for %%F in ("p:\Yeast Prop batch reports\*.*") do if not exist "\Staging$\NgeBatchRecipeOriginal\" copy %%F "\Staging$\Yeast Prop batch reports\"

当我运行它时,它什么也没做。

2 个答案:

答案 0 :(得分:0)

宏%~nxf仅提取带扩展名的文件名:

for %%f in (dir1\*.*) do if not exist "Dir2\%%~nxf" copy %%f Dir3

答案 1 :(得分:0)

... copy %%F ...

因为%% F包含空格,copy将其解释为几个参数而不是带空格的参数。

将其更改为

... copy "%%F" ...