PowerShellのファイル出力先を実行ユーザのデスクトップにする


PowerShellのファイル出力先を、実行したユーザのデスクトップにする場合に、「$env:USERPROFILE + “\Desktop\”filename.txt”」と指定するのは間違い。

この場合、ローカルディスクでは無く、ファイルサーバ上にDesktopが置かれるような環境に対応できない。
「[Environment]::GetFolderPath(“Desktop”)」で取得するのが正しい。

実際に、どういう風になるのか見てみる・・・

PS C:\Users\osakanataro> $env:USERPROFILE + "\Desktop"
C:\Users\osakanataro\Desktop
PS C:\Users\osakanataro> [Environment]::GetFolderPath("Desktop")
\\fileserver1\Redirects$\osakanataro\Desktop

Desktop以外に指定できる内容については「Environment.SpecialFolder Enumeration」参照のこと。
「Added in the .NET Framework 4.」なっているものは、Windows7/WindowsServer2008などの古めのWindowsでは動かないので注意。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>