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

时间:2013-05-06 12:11:56

标签: windows command-line cmd

感谢任何帮助,因为尽管目录存在,Windows 7仍会提供以下消息。 带有错误消息的示例代码如下。提前致谢

D:\WebService\Project-Print-Services>move C:\Temp\pdfMerge\build\* C:\Temp\pdfMerge\work\
The filename, directory name, or volume label syntax is incorrect.

我已经验证了COMPSEC,它是cmd.exe。

5 个答案:

答案 0 :(得分:3)

如果您要复制文件夹(当文件夹为空时显示错误消息),请查看是否有帮助:

@echo off
for /d %%a in ("C:\Temp\pdfMerge\build\*") do move "%%a" "C:\Temp\pdfMerge\work\"

请注意,要从命令行运行此功能,您应该删除一个“%”符号,
像这样:

for /d %a in ("C:\Temp\pdfMerge\build\*") do move "%a" "C:\Temp\pdfMerge\work\"

答案 1 :(得分:1)

如果您可以使用PowerShell

Move-Item -path  C:\Temp\pdfMerge\build -destination C:\Temp\pdfMerge\work
如果你不使用Move-Item选项,

-force将不会覆盖目标文件夹中的任何现有文件

答案 2 :(得分:1)

这两个文件夹是否存在并且文件中包含文件?

尝试 dir C:\ Temp \ pdfMerge \ build \

dir C:\ Temp \ pdfMerge \ work \

是否要将侧构建中的文件移动到工作位置或移动目录构建工作? 您当前的命令将执行前者。

移动文件夹删除\ *并添加/ y:

 move /y C:\Temp\pdfMerge\build C:\Temp\pdfMerge\work

来自其他一些目录而不是构建

答案 3 :(得分:1)

您的代码适用于我,但如果C:\Temp\pdfMerge\build为空,则会收到错误消息。使用以下代码来避免这种情况:

dir C:\Temp\pdfMerge\build /a-d >nul 2>&1 && move C:\Temp\pdfMerge\build\* C:\Temp\pdfMerge\work

答案 4 :(得分:0)

将其保存在.vbs文件中,从命令提示符处调用它。 (见评论)

' arg1 - folder to move
' arg2 - parent folder to move to
' call this with trailing \ in 2nd arg only
'  C:\apps\xamps\x182\htdocs\pages\prog\vba\moveFile.vbs c:\apps\a3 c:\tmp\a\
Set objFSO = CreateObject("Scripting.FileSystemObject")
'MsgBox "a " & WScript.Arguments.Item(0)
'checks and stops if folder does not exist
Set f =  objFSO.GetFolder(WScript.Arguments.Item(0))
Set f =  objFSO.GetFolder(WScript.Arguments.Item(1))
objFSO.MoveFolder  WScript.Arguments.Item(0) , WScript.Arguments.Item(1)