【问题标题】:Batch file error: "xcopy is not recognized as an internal or external command..."批处理文件错误:“xcopy 未被识别为内部或外部命令...”
【发布时间】:2014-10-19 11:22:03
【问题描述】:

我正在编写一个批处理文件,经过大量代码后,我有:

:d1copy
xcopy /Y "C:\Users\Joseph\Desktop\JOKO_Sync\*.*" "F:\JOKO_Sync\*.*" /s /e /V /D
pause

当我执行这个时,我得到了错误

xcopy 未被识别为内部或外部命令、可运行程序或批处理文件。

但我将相同的代码复制并粘贴到另一个批处理文件中,它运行良好。

有什么想法吗?

【问题讨论】:

  • 你的Path环境变量是否包含C:\Windows\System32
  • 感谢您的回复。它不是。我可以在里面写一行“C:\Windows\System32!”吗?修复那个错误?
  • @JSUPRA 是的,你可以这样做,只是不要忘记之前的分号
  • set Path=%path%;C:\Windows\system32 此命令会将 C:\Windows\system32 文件夹添加到 %path% 然后 xcopy 将起作用
  • 如果相同的代码在另一个批处理文件中工作,问题是批处理文件,而不是 xcopy 命令。您是否在此批次中使用/更改了 path 变量?

标签: batch-file batch-processing xcopy


【解决方案1】:

您的Path 环境变量不包含C:\Windows\System32。请尝试添加它,您的错误将得到解决!

【讨论】:

  • 感谢您的建议。这就是我现在正在运行的: :d1copy xcopy /Y "C:\Windows\System32\Users\Joseph\Desktop\JOKO_Sync*.*" "F:\JOKO_Sync*.*" /s /e /V /D pause 不幸的是,我仍然遇到同样的错误
  • 您是否将System32 位置添加到Path,因为它包含所有可执行文件。
  • 不,我没有。你会写一行代码来做到这一点吗?
  • 我在 x 副本上的文件路径现在显示为 "C:\Windows\System32\Users\Joseph\Desktop\JOKO_Sync*.*" 但它不起作用,所以我猜我需要将 System32 添加到路径不同
  • 无论现在添加什么内容到你的Path变量,你保持不变!如果末尾有分号(;),只需将C:\Windows\System32 添加到末尾即可!如果不是,则附加此--->`;C:\Windows\System32`。请不要删除内容!最后简单地追加......
【解决方案2】:

也许您已经在批处理文件中定义了 set path=。所以它会改变你当前的系统路径变量。如果是这样,将您的批处理文件变量名称更改为“路径”(例如:mypath),它将起作用。

【讨论】:

  • 迟了三年半,但第一个正确答案。通过分析 cmets,OP 实际上确实将 path 设置为他的源文件夹
【解决方案3】:

xcopy.exe 文件从C:/Windows/System32 复制到JAVA_SDK/bin 对我有用。

【讨论】:

    【解决方案4】:

    而不是设置PATH 变量(如果您将脚本移动到另一台机器,它仍然会中断),您可以简单地specify the full path to xcopy

    %systemroot%\System32\xcopy ...
    

    所以在你的情况下:

    %systemroot%\System32\xcopy /Y "C:\Users\Joseph\Desktop\JOKO_Sync\*.*" "F:\JOKO_Sync\*.*" /s /e /V /D
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多