非常简单的PowerShell脚本由于未知原因而无法正常工作

时间:2017-12-22 22:56:04

标签: powershell location

我正在尝试将当前脚本设置为执行路径。我正在阅读可用的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 \ location。我的控制台应用程序列出了所有可用的JSON文件,供用户从当前位置进行选择。但现在该应用程序列出了C:\ WINDOWS \ system32中的文件。为什么它不从C:\ proj列出。如果我通过双击启动它,它会显示当前位置的文件。如何解决这个问题

Available bootstrap files:
0. C:\WINDOWS\system32\DefaultQuestions.json
1. C:\WINDOWS\system32\nv-vk64.json
Select:    

1 个答案:

答案 0 :(得分:0)

对于更新的问题,将我的执行目录设置在当前目录中以下工作完美。现在我的控制台应用程序查看当前的工作目录。

[Environment]::CurrentDirectory = $PWD