尝试通过仅移动内容的批处理脚本移动文件夹

Posted

技术标签:

【中文标题】尝试通过仅移动内容的批处理脚本移动文件夹【英文标题】:Attempting to move folders via batch script moving only contents 【发布时间】:2015-06-25 02:35:30 【问题描述】:

我写了这个批处理脚本来在“测试模式”下为 Garry's Mod 启动一个专用的源服务器,所有非必要的文件系统插件都被移动到一个“--Disabled”文件夹,所以它不会将它们加载到游戏中。以下是可能与此相关的所有代码:

mkdir "--Disabled"
cd %gmds%/garrysmod/addons
move advdupe2 --Disabled
move sbep --Disabled
move spacebuild --Disabled
move wire-extras --Disabled
cd %gmds%

奇怪的事情发生在第三行。它试图将“advdupe2”移动到“--Disabled”,但实际上并没有这样做,而是仅将 advdupe2 的 CONTENTS 推入--Disabled。而“advdupe2”只是迷失在矩阵或其他东西中。起初我以为我在那里搞砸了一些东西,但我没有做任何与我移动“sbep”、“spacebuild”和“wire-extras”的地方不同的事情,而且这三个移动得很好。有什么想法吗?

编辑:我尝试在所有移动参数周围加上双引号。结果相同。

【问题讨论】:

【参考方案1】:

命令顺序错误

cd %gmds%/garrysmod/addons
mkdir "--Disabled"

move advdupe2 --Disabled
move sbep --Disabled
move spacebuild --Disabled
move wire-extras --Disabled

如果目标文件夹不存在(并且在原代码中创建的位置不对),第一个move命令相当于重命名操作,那么后面的move命令会发现目标文件夹文件夹存在,然后move 将正确完成。

【讨论】:

将头直接应用于办公桌我应该注意到...当我切换它们时它起作用了

以上是关于尝试通过仅移动内容的批处理脚本移动文件夹的主要内容,如果未能解决你的问题,请参考以下文章

shell批量移动文件

使用部分名称创建文件夹和移动文件的批处理脚本

使用内容重命名 PDF 文件的批处理脚本

shell脚本之正则表达式---sed工具

将整个文件夹及其所有内容移动到另一个文件夹[重复]

用于将文件解压缩到某个文件夹的批处理脚本