【问题标题】:Powershell Command open from location and run commandPowershell 命令从位置打开并运行命令
【发布时间】:2018-09-10 19:28:51
【问题描述】:

学习如何使用 powershell。但我想做的是从特定位置打开命令提示符然后执行命令。

到目前为止,我已经能够设置位置并打开命令提示符但无法运行命令

到目前为止我已经尝试过了

Set-Location "F:\Projects\GameManagement\server"
start cmd.exe

我也尝试过启动过程,但不知道如何设置位置并使用特定程序打开

我试图发送到命令提示符的命令是“nodemon index.js”。有什么建议吗?

谢谢

【问题讨论】:

    标签: powershell


    【解决方案1】:

    cmd.exe一样,PowerShell是一个shell,这意味着你可以直接调用控制台应用程序,它同步地执行它们

    Set-Location F:\Projects\GameManagement\server
    nodemon index.js
    

    如果nodemon 可执行文件也位于F:\Projects\GameManagement\server,则必须将最后一行替换为
    .\nodemon index.js,正如Robert Cotterman 指出的那样,因为与cmd.exe 不同,PowerShell 不允许出于安全原因,仅按名称调用位于当前目录中的可执行文件。

    在 PowerShell 中很少需要调用 cmd.exe - 只需使用 PowerShell 本身。

    【讨论】:

    • 我猜他可能需要.\nodemon index.js 或者他可以只做$path = "F:\Projects\GameManagement\server" 然后invoke-expression "$path\nodemon $path\index.js" 设置位置将确保它在该文件夹内工作
    • 关于.\nodemon,@RobertCotterman,谢谢;我已将其添加到答案中。但是,这里不需要Invoke-Expressionshould generally be avoided
    • 我尝试以所有变体都可以回答的方式回答我所理解的内容。因为其他用户有一天可能会读到这个并且可以更好地理解它。总之感谢信任投票。调用表达式在那里确保变量在命令中被使用。也许我误解了它是如何工作的。
    • @RobertCotterman:使用调用运算符& 来调用通过带引号的字符串和/或变量引用指定的可执行文件:& $path\nodemon $path\index.js
    • 现在正在寻找一种方法来杀死进程@mklement0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多