批处理文件将文件移动到另一个目录

Posted

技术标签:

【中文标题】批处理文件将文件移动到另一个目录【英文标题】:Batch file to move files to another directory 【发布时间】:2013-04-21 02:16:07 【问题描述】:

我希望你能帮助我解决这个问题。它可能已经被多次询问(我知道),但由于某种原因,我无法让它工作。

我想将一些文件从“files”目录移动到根目录。

所以文件是,例如:

test1.txt test2.txt test3.zip test4.zip test5.exe test6.exe

我希望将这些文件移动到不同的目录。

所以我正在使用这样的东西:

move files\*.txt ..\txt /q
move files\*.zip ..\zip /q
move files\*.exe ..\exe /q

但我总是会出错。它找不到文件,然后 CMD 停止工作。

谢谢。

编辑:

它是这样工作的:

move /y .\files\*.txt ..\txt
move /y .\files\*.zip ..\zip
move /y .\files\*.exe ..\exe

但现在它不会将文件移动到父目录。

【问题讨论】:

当前工作目录是什么? C:/test 这个。 the root directory. -- to different directories 去哪儿? But I always get errors消息?? 【参考方案1】:

/q 不是有效参数。 /y:禁止提示确认覆盖

还有..\txt 表示父目录下的目录txt,而不是根目录。 根目录将是:\ 请提及您遇到的错误

试试:

move files\*.txt \ 

编辑: 试试:

move \files\*.txt \ 

编辑 2:

move C:\files\*.txt C:\txt

【讨论】:

是的,抱歉,我已经解决了这个问题,我现在正在使用 /y。没有错误,它只是找不到文件,但它们确实存在于“文件”目录中。是的,我想将它们移动到父目录上的文件夹中。 尝试:move \files\ *.txt \ [我更新了回复,因为这里显示不正确] 不,它一直说我找不到文件。 尝试完整路径:移动 C:\files\ *.txt C:\ ,确保它包含文件 *.txt 并且它们没有被隐藏。 正如我之前提到的:..\txt 不是父目录。它是父目录下的txt目录。这是你需要的吗?父目录下有txt目录吗?【参考方案2】:

假设根文件夹中有一个文件test.txt,并且想将它移动到\TxtFolder

你可以试试

move %~dp0\test.txt %~dp0\TxtFolder

.

参考答案:relative path in BAT script

【讨论】:

【参考方案3】:

试试:

move "C:\files\*.txt" "C:\txt"

【讨论】:

以上是关于批处理文件将文件移动到另一个目录的主要内容,如果未能解决你的问题,请参考以下文章

如何使用c ++文件系统库将文件复制到另一个目录

如何将目录的所有内容(不包括父目录)移动到另一个目录 Groovy [重复]

批处理文件合并另一个批处理,将目录中的修改文件复制到另一个目录

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

批处理如何移动隐藏目录?

linux怎么将一个文件移动到另一个目录下