【问题标题】:Copy-Item command working in Powershell Command line but not in bat fileCopy-Item 命令在 Powershell 命令行中有效,但在 bat 文件中无效
【发布时间】:2015-08-05 07:47:27
【问题描述】:

尝试使用Copy-Item 命令将文件从一个文件夹复制到另一个文件夹。以下命令在 powershell 命令行中运行,但在 *.bat 文件中运行时抛出错误:

Copy-Item C:\script\* D:\

它会抛出以下错误:

'Copy-Item' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

【问题讨论】:

    标签: windows powershell batch-file


    【解决方案1】:

    您不能直接批量运行 PowerShell cmdlet,而是必须调用 powershell.exe 并将命令传递给它:

    powershell -Command "Copy-Item C:\script* D:\"
    

    【讨论】:

    • 谢谢先生!我正在使用 os.system('Copy-Item X Y') 从 PowerShell 控制台运行 python 脚本,不太理解上面的错误消息。根据您的建议,它确实有效。谁知道从 powershell 控制台调用的脚本执行的命令不在 powershell 中运行。我想使用 MS 逻辑是有道理的。
    【解决方案2】:

    或者,您需要创建的不是*.bat 文件,而是*.ps1 文件。它们在 Powershell 中运行,因此接受任何 Powershell 命令,因此Copy-Item 无需额外努力即可工作。

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 2015-03-16
      • 2013-08-14
      • 1970-01-01
      • 2014-08-13
      • 2016-07-05
      • 2012-09-21
      • 2020-03-24
      • 2013-10-14
      相关资源
      最近更新 更多