由于未知原因,非常简单的 PowerShell 脚本无法正常工作
Very simple PowerShell script is not working for unknown reason
我正在尝试将我当前的脚本设置为执行路径。我正在阅读可用的 JSON 文件。我的 app.exe
列出了所有可用的 JSON 文件。当我从 C:\my\proj
启动这个脚本时。它显示我的主页路径为 C:\Users\EIM
。以下脚本有什么问题?即使我调试它,我也可以看到 $cureentDir
值为 C:\my\proj
。我正在使用 Windows 10 和 PowerShell 版本 5。
$scriptpath = $MyInvocation.MyCommand.Path;
$cureentDir = Split-Path $scriptpath;
Set-Location -Path $cureentDir;
$exe = "C:\proj\app.exe"
$arguments = '- silent'
Push-Location (Split-Path -Path $MyInvocation.MyCommand.Definition -Parent)
$proc = [Diagnostics.Process]::Start($exe, $arguments)
$proc.WaitForExit();
已更新
它正在工作。但是有一个新的问题。我的应用程序和脚本都位于 C:\proj\ 位置。我的控制台应用程序列出了用户从当前位置到 select 的所有可用 JSON 文件。但现在该应用程序正在列出 C:\WINDOWS\system32 中的文件。为什么它不从 C:\proj 中列出。如果我通过双击启动它,它会显示当前位置的文件。如何解决这个问题
Available bootstrap files:
0. C:\WINDOWS\system32\DefaultQuestions.json
1. C:\WINDOWS\system32\nv-vk64.json
Select:
对于更新的问题,将我的执行目录设置在当前目录下完美。现在我的控制台应用程序查看当前工作目录。
[Environment]::CurrentDirectory = $PWD
我正在尝试将我当前的脚本设置为执行路径。我正在阅读可用的 JSON 文件。我的 app.exe
列出了所有可用的 JSON 文件。当我从 C:\my\proj
启动这个脚本时。它显示我的主页路径为 C:\Users\EIM
。以下脚本有什么问题?即使我调试它,我也可以看到 $cureentDir
值为 C:\my\proj
。我正在使用 Windows 10 和 PowerShell 版本 5。
$scriptpath = $MyInvocation.MyCommand.Path;
$cureentDir = Split-Path $scriptpath;
Set-Location -Path $cureentDir;
$exe = "C:\proj\app.exe"
$arguments = '- silent'
Push-Location (Split-Path -Path $MyInvocation.MyCommand.Definition -Parent)
$proc = [Diagnostics.Process]::Start($exe, $arguments)
$proc.WaitForExit();
已更新
它正在工作。但是有一个新的问题。我的应用程序和脚本都位于 C:\proj\ 位置。我的控制台应用程序列出了用户从当前位置到 select 的所有可用 JSON 文件。但现在该应用程序正在列出 C:\WINDOWS\system32 中的文件。为什么它不从 C:\proj 中列出。如果我通过双击启动它,它会显示当前位置的文件。如何解决这个问题
Available bootstrap files:
0. C:\WINDOWS\system32\DefaultQuestions.json
1. C:\WINDOWS\system32\nv-vk64.json
Select:
对于更新的问题,将我的执行目录设置在当前目录下完美。现在我的控制台应用程序查看当前工作目录。
[Environment]::CurrentDirectory = $PWD