批处理脚本帮助移动文件夹到子文件夹



嘿,我有一个自定义的批处理脚本,我已经拼凑在一起。该脚本设置并清理/组织我即将开始工作的作业文件夹。它几乎可以按照我的需要将目录中的所有文件移动到一个子文件夹"Plans "Reports"。我还想让将所有文件夹也移动到该目录,尽管移动命令似乎不起作用,因为当我试图包含它们时,它们和它们的内容仍然不受影响。

下面是当前的工作代码:

@echo off
setlocal EnableDelayedExpansion
ECHO =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ECHO =      Welcome to the New Project Setup Wizard      =
ECHO =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ECHO.
set /p npn="Enter Project Name: "
chcp 65001
md "Plans & Reports"
move "%CD%"*.* "%CD%""Plans & Reports"
copy "%~dp0""New Project Template) Project - Ox Calc.xlsm"
copy "%~dp0""New Project Template1) Project - Master.esw"
copy "%~dp0""New Project Templateθ) Project - Volume Report.pdf"
ren "0) Project - Ox Calc.xlsm" "0) %npn% - Ox Calc.xlsm"
ren "1) Project - Master.esw" "1) %npn% - Master.esw"
ren "θ) Project - Volume Report.pdf" "θ) %npn% - Volume Report.pdf"
chcp 437

通过上下文菜单运行批处理文件之前的图像。

批处理文件运行后的图像,指示我想要完成的其他更改。

我比较确定我需要用移动或复制/删除所有文件和文件夹的东西来取代移动命令进入"计划"Reports"文件夹(显然不包括它自己)。

move "%CD%"*.* "%CD%""Plans & Reports"

我试着运行xcopy和robocopy都没有成功。例如,我尝试了这个,但不明白为什么它不起作用。

robocopy "%CD%*.*" "%CD%Plans & Reports" /move /xd "%CD%Plans & Reports"

如果这是一个好的解决方案,复制和删除是可以的,但它需要将工作目录作为源目录和"计划"Reports"子目录作为目标。

提前感谢你们可能提供的任何帮助。编辑:为了清晰,更新了我的意图范围。

我想出了一个适合我的解决方案。我正在尝试这个没有工作…

robocopy "%CD%*.*" "%CD%Plans & Reports" /move /xd "%CD%Plans & Reports"

并将其更改为this,这就做到了!

robocopy . "Plans & Reports" *.* /e /move /XD "Plans & Reports"

所以%CD%是毫无意义的,据我所知与机器人复制。最好使用.,因为点表示"此目录"。因此& lt; source>为.,目标>为"Plans & Reports",在源中;所以我猜它不需要一个完整的路径?

*.*是文件匹配器,它意味着任何文件或文件夹,据我所知,我不知道windows通配符或任何我正在做的事情。它还需要单独存在,并作为第三个参数。

其他所有内容都告诉它复制什么以及如何复制。它显然不喜欢我做的一些东西,并以内联错误响应,但它实际上会做我想要的,所以我真的不太在乎。

必须感谢我的一个朋友,他帮助我解决了这个问题,并在基本程度上理解了它。比我在这个网站找到的更多帮助。

相关内容

最新更新