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総合スコア28660
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/14 03:34 編集
2018/11/14 03:39
2018/11/14 03:46
2018/11/14 04:00
2018/11/14 04:03
2018/11/14 05:47
2018/11/14 05:49
2018/11/14 05:54
2018/11/14 05:55
2018/11/14 06:03
2018/11/14 06:05
2018/11/14 06:15
2018/11/14 06:17
2018/11/14 06:19
2018/11/14 06:27
2018/11/14 06:32
2018/11/14 06:33
2018/11/14 06:36
2018/11/14 06:46
2018/11/14 07:02
2018/11/14 07:10
2018/11/14 07:14
2018/11/14 07:16
2018/11/14 07:17
2018/11/14 07:18
2018/11/14 07:23
2018/11/14 07:24
2018/11/14 07:29 編集
2018/11/14 08:33
2018/11/14 08:45
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
総合スコア87747
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/14 02:35
2018/11/14 03:20
2018/11/14 03:35 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。