Как установить местоположение для текущей рабочей папки? - PullRequest
0 голосов
/ 19 марта 2020

У меня есть скрипт powershell, расположенный в папке «register», который я хочу использовать для запуска и запуска файла в подпапке «app», также расположенной в папке «register» динамически. Каждый раз, когда я запускаю скрипт, я получаю ошибку path not found, но я хочу, чтобы powershell поддерживал текущее местоположение рабочей папки, чтобы он мог работать каждый раз, когда я копирую на другой диск.

Ниже приведен обзор моего кода

"cmd.exe /c PowerShell.exe -windowstyle hidden Start-Process '.\Register\App\record.exe'"

Спасибо.

1 Ответ

0 голосов
/ 19 марта 2020

Непонятно, где выполняется ваша команда, но я полагаю, что окружающие двойные кавычки заставляют все внутри восприниматься как имя исполняемого файла, а не просто cmd.exe.

Если я открываю Command Prompt в %UserProfile% и скопируйте %SystemRoot%\system32\calc.exe в %UserProfile%\Register\App\record.exe, тогда у меня будет работать следующее:

  • Command Prompt без двойных кавычек: cmd.exe /c PowerShell.exe -windowstyle hidden Start-Process '.\Register\App\record.exe'
  • PowerShell без двойных кавычек: PowerShell.exe -windowstyle hidden Start-Process '.\Register\App\record.exe'

Оба эти ...

  • Command Prompt с двойными кавычками: "cmd.exe /c PowerShell.exe -windowstyle hidden Start-Process '.\Register\App\record.exe'"
  • PowerShell с двойными кавычками: "PowerShell.exe -windowstyle hidden Start-Process '.\Register\App\record.exe'"

... в результате ...

Системе не удается найти указанный путь.

Кроме того, на случай, если неясно, вы пытаетесь запустить cmd.exe, чтобы запустить powershell.exe, чтобы запустить record.exe. По крайней мере, cmd.exe /c не нужен; просто запустите PowerShell напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...