繁体   English   中英

如何将名为文件的变量从一个目录移动到另一个目录?

[英]How do I move variable named files from one directory to another?

这是我到目前为止无法正常工作的内容:

set from=V:\directory\CONCA*.*
set to=V:\directory\CONCA
for /f %%a IN ('dir "%from%" /b') do move %from%\%%a %to%

这将返回错误消息:

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

我并不总是在它来自的目录中有一个文件,当它找不到文件时,我不想看到任何错误消息。

我确实想看看当它找到要移动的东西时它在移动什么。

set "from=V:\directory"
set "to=V:\directory\CONCA"
    rem ensure that target folder exists
md "%to%" 2>NUL
for /f "delims=" %%a IN ('dir "%from%\CONCA*.*" /b /A:-D 2^>NUL') do (
    echo "%from%\%%a"
    rem move "%from%\%%a" "%to%\"
)

说明:

  • 我对您的问题的评论显示出所引用的错误消息元凶;
  • 2>NUL 将错误消息重定向到NUL 当在for /F循环处理为2^>NUL的命令中使用时,我们需要转义 >重定向运算符;
  • "delims="以正确处理文件名中的可能空格;
  • /A:-D排除文件夹以防止move "V:\\directory\\CONCA" "V:\\directory\\CONCA\\" (尝试将自身移动到自身 );
  • echo "%from%\\%%a"以满足我确实想查看它发现要移动的内容时发生了什么变化
  • rem move "%from%\\%%a" "%to%\\"操作性move命令仅在调试阶段使用rem进行了注释:在调试后立即删除rem (但不要尽快删除)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM