PowerShell内にて
同ディレクト内のxmlファイルを読み込み、
記載してあるパスを取得したいのですが、
カレントディレクトリの値の取得がどうもうまくいきません。。。
(記述コード)
#パスファイル読み込み
$myPath = $MyInvocation.MyCommand.Path
[xml]$xml = Get-Content $myPath"\path.xml"
$PATH = $xml.config.path
どなたかお詳しい方がいらっしゃいましたら、ご教授いただけると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
何がうまくいかないのかわからないけど、とりあえずカッコで括ったらどうでしょう?
ps1
1(pwd)
あと、用語が間違っていたら話が通じません。必要なのは本当にカレントディレクトリなのか確認してください。
#追記
次のスクリプトを試してください。
else ブロックの中が管理者権限で行われる処理です。
コマンドライン引数も一応対応させました。
ps1
1using namespace System.Security.Principal 2 3$isSu = ([WindowsPrincipal][WindowsIdentity]::GetCurrent()).IsInRole([WindowsBuiltInRole]"Administrator") 4if (-not $isSu) { 5 $powershell = [Environment]::GetCommandLineArgs()[0] 6 $startInfo = New-Object System.Diagnostics.ProcessStartInfo $powershell, ([string]::Join(' ', (@($PSCommandPath) + $args))) 7 $startInfo.WorkingDirectory = Get-Location 8 $startInfo.Verb = "runas" 9 [void][Diagnostics.Process]::Start($startInfo) 10} else { 11 $PSScriptRoot 12 Read-Host 13}
投稿2018/11/14 03:22
編集2018/11/14 07:09総合スコア28673
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
参照されている
https://s.webry.info/sp/vogel.at.webry.info/201707/article_9.html
の手法では$PSScriptRootや$MyInvocation.MyCommand.Pathの取得が難しいため、
バッチとps1の2つに分かれますが以下のような方法は如何でしょうか?
batch
1@echo off 2powershell -command "start-process powershell.exe -argumentlist %~dp0hoge.ps1 -Verb runas" 3exit
hoge.ps1
powershell
1$myPath = $PSScriptRoot 2[xml]$xml = Get-Content (join-path $myPath 'path.xml') 3$PATH = $xml.config.path
投稿2018/11/14 08:49
総合スコア94
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「powershell カレントディレクトリ」でぐぐってみよう
投稿2018/11/14 01:39
総合スコア88163
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。