检查批处理脚本中是否存在任何文件,但不存在目录

时间:2018-06-29 18:14:16

标签: batch-file cmd

我具有以下目录结构。

background: url("<%= image_path 'fake_slider.png' %>") no-repeat 0 0;

我想将dir1下的文件而不是subdir下的文件移动到备份目录。

dir1
dir1\subdir
backup

如果dir1下有任何文件,则脚本可以正常运行,但是如果dir1为空,则会收到错误消息:

  

文件名,目录名称或卷标语法不正确。

问题是if exist dir1\*.* move dir1\*.* backup 总是返回true,因为存在if exist dir1\*.*

有办法避免此错误消息吗?

1 个答案:

答案 0 :(得分:0)

使用FOR命令来迭代目录中的文件。如果目录中没有文件,则它将永远不会执行DO。

for %%G IN (dir1\*.*) do move "%%G" backup

另一个选择。

>nul 2>nul dir /a-d /b "dir1\*" && move dir1\*.* backup