【问题标题】:powershell command not running in .bat file?powershell 命令未在 .bat 文件中运行?
【发布时间】:2012-09-21 21:45:05
【问题描述】:

我正在尝试制作一个简单的脚本来设置我的 gcc 变量。作为 .bat 文件。

变量是这样设置的

$env:Path += ";C:\Users\Brett\Compilers\MinGW\bin"

当我将它输入/粘贴到 power shell 时,它运行得很好。

但是当我粘贴到脚本 myscript.bat 中并通过 powershell 运行它时,我得到了这个错误:

C:\Users\Brett\Compilers>"$env:Path += ";C:\Users\Brett\Compilers\MinGW\bin""
The filename, directory name, or volume label syntax is incorrect.
PS C:\Users\Scruffy\Compilers>

【问题讨论】:

    标签: shell powershell path


    【解决方案1】:

    正如其他人所提到的,您需要将代码保存在 .ps1 文件中,而不是 .bat 中。

    这条线(来自Setting Windows PowerShell path variable)可以解决问题:

    $env:Path = $env:Path + ";C:\Users\Brett\Compilers\MinGW\bin"
    

    甚至更短:

    $env:Path += ";C:\Users\Brett\Compilers\MinGW\bin" 
    

    【讨论】:

      【解决方案2】:

      一般来说,将批处理的内容留给 .BAT 文件,将 PowerShell 的内容放在 .ps1 文件中。

      我可以在这里复制您的结果 - 但这是意料之中的。 Cmd.exe 看到一个字符串,然后是一个路径,然后变得很困惑,因为语法不是命令提示符可以处理的语法。所以它给出了错误信息。

      如果您想在路径中添加内容,那么为什么不将语句放在 .ps1 脚本文件中呢?

      【讨论】:

        【解决方案3】:

        PowerShell 是与 Windows 命令行 (cmd.exe) 分开的执行环境

        如果您想从批处理文件运行 powershell 命令,您需要保存 powershell 脚本 (.ps1) 并将其作为命令行参数传递给 powershell.exe。

        例子:

        powershell.exe -noexit c:\scripts\test.ps1
        

        More Information is available here on Microsoft TechNet

        【讨论】:

        • 好的,但该错误与 powershell 无关。当我在 cmd 中摩擦脚本时,也会出现同样的错误。此外,powershell 似乎确实运行了一些批处理文件,我以前总是这样。我只优先使用它而不是 cmd,因为它更容易阅读。如果您想查看,请在 .bat 文件中使用相同的“echo hello”并通过 powershell 运行它。工作正常。基本上我需要做的就是在 power shell 脚本中的路径变量中添加一个条目。或一批。但 powershell 更容易阅读。
        • 没关系,我通过将 set PATH=%PATH%;"C:\Users\Brett\Compilers\MinGW\bin" 保存在 bat 文件中并通过 powershell 运行它来工作。我猜这是语法错误。
        • PowerShell 不理解 .bat 文件。当您从 PowerShell 中运行一个时,它会启动 CMD 并让它运行 .bat。因此,您必须使用与常规命令提示符相同的语法。如果要将 PowerShell 语法保存到文件并按需运行,则需要将其保存为 .ps1 文件。
        猜你喜欢
        • 2018-08-25
        • 1970-01-01
        • 2017-04-23
        • 2012-11-28
        • 1970-01-01
        • 2019-01-20
        • 2020-05-10
        • 2021-08-20
        • 1970-01-01
        相关资源
        最近更新 更多