簡體   English   中英

使用 node.js 運行包含多個嵌套引號內帶有空格的路徑的 powershell 命令時出現問題

[英]Problem running a powershell command containing path with spaces inside multiple nested quotes using node.js

解釋

我正在嘗試從 Node js 中運行以下命令:

child_process.exec(`powershell -command "Start-Process cmd '/k cd /d \"${path}\"' -Verb RunAs"`)

哪個 powershell 以格式化的形式接收:

powershell -command "Start-Process cmd '/k cd /d "E:\test"' -Verb RunAs"

目標

目標是在 node.js 的新cmd窗口中打開指定目錄:

  • 使用powershell以管理員身份打開cmd (如果有更好的方法,請告訴我)
  • cmd運行指定的命令,它會打開一個新的cmd窗口並更改目錄

問題

它確實適用於沒有空格的路徑,如E:\\test ,但不適用於像E:\\test name (包含空格)這樣的路徑。 我收到以下錯誤:

The string is missing the terminator: '.

我嘗試使用反引號來轉義一些嵌套的引號,但它沒有幫助:

"Start-Process cmd '/k cd /d `"E:\test name`"' -Verb RunAs"

你必須轉義反斜杠,因為\\"在你的字符串中變成了"但它應該在最后一個字符串中保持為\\" ,所以用\\\\"替換\\" \\\\"

child_process.exec(`powershell -command "Start-Process cmd '/k cd /d \\"${path}\\"' -Verb RunAs"`)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM