批处理文件“do move”不将文件重定位到指定目录

时间:2015-09-03 15:13:54

标签: batch-file

我创建了一个批处理文件来扫描目录,包括Solidworks文件扩展名(.slddrw,.sldprt,.sldasm)的子目录,并将它们移动到存档目录。我遇到的问题是移动没有移动到我的存档目录,而是将文件移动到存档的父目录,即 Archive_Test

以下是我正在使用的代码:

ABCD, DEFG, PQRA

1 个答案:

答案 0 :(得分:0)

它不起作用,因为您以错误的方式设置变量/以后不要在他们的名字中调用它们(您设置' @ To'并使用' To& #39;)

例如:

C:\Users\equinox93>SET @From="C:\Archive_Test\Document"

C:\Users\equinox93>echo %@From%
"C:\Archive_Test\Document"

C:\Users\equinox93>echo %From%
%From%

所以要修复它,只需删除' @'设置时:

::cd G:\OPS\OpsEng\Document
cd c:\Archive_Test

::Make the Archive directory in case it does not already exist
MD Archive

::SET From="G:\OPS\OpsEng\Document"
SET From="C:\Archive_Test\Document"

::SET To="G:\OPS\OpsEng\Archive"
SET To="C:\Archive_Test\Archive\"

pause

::Move files with Solidworks extensions
for /R %From% %%f in (*.slddrw, *.sldasm, *.sldprt) do move "%%f" "%To%"

pause

这应该有效。 您可以阅读更多关于' set'命令在这里: http://ss64.com/nt/set.html