[解決済み] Resolve-Pathコマンドレットは、具体的にどのような処理を行うのですか?
質問
最近、Windows10システムでPowershellを使うようになりました。プロファイルファイルを作成し、ドキュメントセクションのフォルダーにリンクする変数を入れたいと思いました。しかし、前回修理に出したときのように、ハードドライブの移動でプロファイル名が変更された場合、パスをハードコードして書き直す必要があると思ったので、パスをハードコードしたくはありませんでした。そこで、最初に考えたのは、次のようなものを入れることでした。
$Var = $(~\Documents\Folder)
しかし、それはエラーを返した。そこで、Resolve-Path Cmdletの存在を知り、一見して私が必要としているものに見えた。しかし、これを実行すると
$Var = $(Resolve-Path ~\Documents\Folder)
... こうなりました。
>$Var
Path
----
C:\Users\Username\Documents\Folder
>
これは問題ないように思えた。しかし、試しに
cd $Var
を実行すると、正常に動作したため、非常に困惑しました。私は、この余計な
Path
ヘッダがあるとエラーになります。
は具体的にどのようなものなのでしょうか?
Resolve-Path
する
に渡されたとき、なぜ正しく解釈されるのでしょうか?
cd
? また、このような状況で
Resolve-Path
ではなく
は余計な情報を含まず、展開されたパスのみを返すのですか?
解決方法は?
ヘッダーが表示される原因
Path
というのは
Resolve-Path
の型のオブジェクトを返しています。
System.Management.Automation.PathInfo
で、これが変数に取り込まれないと、文字列としてコンソールに可読形式のIEで出力されます。
ObjProperty1 ObjProperty2 ObjProperty3 ...
--------- --------- --------- ...
Value1 Value2 Value3 ...
このオブジェクトは
cd
として
PowerShell
は十分に賢いので、オブジェクトをパースします (
$var
の前に
cd
が実行されます。
PowerShell
は、path プロパティの値を
cd
意味
cd
には文字列が表示されます。
"C:\Users\Username\Documents\Folder"
であり、オブジェクトヘッダーではありません。
ヘッダを除いたパスだけを返したい場合は
Select
コマンドレットの
-ExpandProperty
パラメータを指定します。
$var = Resolve-Path '~\Documents\Folder' | select -ExpandProperty Path
についてもっと詳しく知りたい場合は
Resolve-Path
MSDNは良い場所です(
リンク
).
関連
-
[解決済み] powershell で再利用するために資格情報を保存すると、ConvertTo-SecureString : Key not valid for use in specified state というエラーが発生する。
-
[解決済み] "get-wmiobject win32_process -computername" でエラー "Access denied , code 0x80070005" が発生する。
-
[解決済み] Join-Pathを使って、2つ以上の文字列をファイルパスに結合するにはどうすればよいですか?
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] WindowsのPATH環境変数にディレクトリを追加する
-
[解決済み] 実行中のJARファイルのパスを取得する方法は?
-
[解決済み] シェル(BASH/ZSH/SH)でファイルの絶対パスを取得する方法を教えてください。
-
[解決済み] Pythonインタプリタのフルパスを検索しますか?
-
[解決済み] C# が %AppData% のパスを取得する。
-
[解決済み] Windowsにはなぜ260文字というパスの長さの制限があるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リモートサーバーへのEnter-PSSessionが "access is denied "で失敗する。
-
[解決済み] Resolve-Pathコマンドレットは、具体的にどのような処理を行うのですか?
-
[解決済み] Powershell New-ScheduledTaskTrigger -RepetitionIntervalを使った反復タスクの実行
-
[解決済み] PowerShellで改行するには?
-
[解決済み] PowerShellでファイルをダウンロードする
-
[解決済み] PowerShellでCMDコマンドを実行する
-
[解決済み] PowerShellを使用してSFTPにファイルをアップロードする
-
[解決済み] 実行中のPowerShellスクリプトからすべての環境変数を表示する
-
[解決済み] PowerShellスクリプトから終了コードを返す
-
[解決済み] Powershell プロセスの開始、タイムアウトによる待機、Kill、終了コードの取得