【发布时间】:2015-03-20 16:17:36
【问题描述】:
所以我试图模仿苹果的一些功能
我目前正在研究的一个功能是能够选择一个或多个文件,然后通过“上下文菜单”创建一个“新文件夹”(定向到通过 FOR 循环传递文件的批处理文件)然后移动文件进入那个“新文件夹”
我遇到的问题是我使用“robocopy”研究过的带有空格的文件名,但发现它有点棘手
到目前为止我的代码
@echo off
set cDir=%~dp1
set newFolder="%cDir%NewFolder"
md %newFolder%
echo.
:: get each selected file and echo
for %%I in (%*) do (
echo %%I
echo.
echo %newFolder%
move "%%I" "%newFolder%"
echo.
)
pause
【问题讨论】:
-
您的
%newFolder已经包含引号;因此无需使用movecommand 再次添加它们。 -
使用
~修饰符如下:move "%%~I" %newFolder%或move "%%~I" %newFolder%\。阅读Command Line arguments (Parameters)。 -
感谢 JosefZ 和 Stephan 修复了它,现在它可以完美运行了。再次感谢 JosefZ 的参考
-
嘿 Stephan 或 Josef 我正在尝试进一步扩展此功能,以便能够移动目录及其内容,您知道我如何使用我提供的代码(以及您的更新)来实现这一目标吗?
标签: windows batch-file scripting cmd