📂
PowerShellでダウンロードフォルダーのパスを取得する方法
概要
「PowerShell + ダウンロード + パス + 取得」で検索して、
上位に表示されたこちらの記事ですが、
2023年3月現在、私の環境ではダウンロードフォルダーのパスを取得できませんでした。
深掘りした結果、取得できる方法を見つけたので紹介します。
参考記事:取得できなかった方法
取得できなかった方法のエビデンス < クリックで折りたたみが開く >
IE(Internet Explorer)のレジストリを使い取得できていたようですが、
現在はサポート対象外となった為か取得できなくなっています。
コピー用
$ieRegKey = "hkcu:\Software\Microsoft\Internet Explorer\Main"
(get-itemproperty $ieRegKey)."Default Download Directory"
記事の方法だと取得不可
PS C:\Windows> $ieRegKey = "hkcu:\Software\Microsoft\Internet Explorer\Main"
PS C:\Windows> (get-itemproperty $ieRegKey)."Default Download Directory"
PS C:\Windows>
コピー用
$ieRegKey = "hkcu:\Software\Microsoft\Internet Explorer\Main"
get-itemproperty $ieRegKey
get-itempropertyコマンドで全て表示するも"Default Download Directory"がない
PS C:\Windows> $ieRegKey = "hkcu:\Software\Microsoft\Internet Explorer\Main"
PS C:\Windows> get-itemproperty $ieRegKey
Anchor Underline : yes
Cache_Update_Frequency : yes
Disable Script Debugger : yes
DisableScriptDebuggerIE : yes
Display Inline Images : yes
Do404Search : {1, 0, 0, 0}
Local Page : %11%\blank.htm
Save_Session_History_On_Exit : no
Search Page : http://go.microsoft.
com/fwlink/?LinkId=5
4896
Show_FullURL : no
Show_StatusBar : yes
Show_ToolBar : yes
Show_URLinStatusBar : yes
Show_URLToolBar : yes
Use_DlgBox_Colors : yes
UseClearType : no
XMLHTTP : 1
Enable Browser Extensions : yes
Play_Background_Sounds : yes
Play_Animations : yes
Start Page : http://192.168.130.3
4/wordpress/
Default_Page_URL : http://dell17win10.m
sn.com/?pc=DCTE
OperationalData : 525
CompatibilityFlags : 0
SearchBandMigrationVersion : 1
FullScreen : no
Window_Placement : {44, 0, 0, 0...}
ImageStoreRandomFolder : 6j0ghie
Start Page_TIMESTAMP : {226, 50, 203, 192..
.}
SyncHomePage Protected - It is a violation of Windows Policy to modify. See aka.ms/browserpolicy : {1, 0, 0, 0...}
IE10RunOnceLastShown : 1
IE10RunOnceLastShown_TIMESTAMP : {23, 69, 93, 161...}
DownloadWindowPlacement : {44, 0, 0, 0...}
UseSWRender : 1
IE10RunOncePerInstallCompleted : 1
IE10RunOnceCompletionTime : {46, 141, 103, 100..
.}
News Feed First Run Experience : 0
SuppressScriptDebuggerDialog : 0
AutoHide : yes
Use FormSuggest : no
IE10TourShown : 1
IE10TourShownTime : {46, 141, 103, 100..
.}
IE11EdgeNotifyTime : {253, 131, 118, 252.
..}
EdgeReminderRemainingCount : 1
IE11DefaultsFREConfigUpdateTimestamp : {46, 161, 54, 25...}
IE11DefaultsFRECompletionTime : {46, 161, 54, 25...}
IE11DefaultsFREGPOFileOptions : 0
IE11DefaultsFREGPOFileCheck : 1
IE11DefaultsFREGPOCheckTimestamp : {232, 166, 246, 137.
..}
IE11DefaultsFREOfferInterval : 365
IE11DefaultsFREOfferType : 1
IE11DefaultsFREMaxOfferShowCount : 1
IE11DefaultsFRECurrentOfferShowCount : 0
IEAppEolNotificationLastShownTimeStamp : {235, 183, 128, 139.
..}
PSPath : Microsoft.PowerShell
.Core\Registry::HKEY
_CURRENT_USER\Softwa
re\Microsoft\Interne
t Explorer\Main
PSParentPath : Microsoft.PowerShell
.Core\Registry::HKEY
_CURRENT_USER\Softwa
re\Microsoft\Interne
t Explorer
PSChildName : Main
PSDrive : HKCU
PSProvider : Microsoft.PowerShell
.Core\Registry
PS C:\Windows>
この記事のターゲット
- PowerShellでダウンロードフォルダーのパスを取得したい方
実行環境
Windows環境
Windows 10 Pro 環境
Get-WmiObjectコマンド
PS C:\Windows> Get-WmiObject Win32_OperatingSystem
SystemDirectory : C:\WINDOWS\system32
Organization :
BuildNumber : 19045
RegisteredUser : XXXXX # マスク
SerialNumber : 00000-00000-00000-AAAAA # マスク
Version : 10.0.19045
参考記事:PowerShellでWindowsバージョンを確認する方法
PowerShell環境
$PSVersionTableコマンド
PS C:\Windows> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.19041.2673
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.2673
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
対応方法
Shell.Applicationのオブジェクトを参照し、ダウンロードフォルダーのパスが取得できました。
ちなみにNew-Object -ComObjectは「New-Object -Com」や「new-object -com」などでもOK。
コピー用
$shellapp = New-Object -ComObject Shell.Application
$shellapp.Namespace("shell:Downloads").Self.Path
取得できた方法
PS C:\Windows> $shellapp = New-Object -ComObject Shell.Application
PS C:\Windows> $shellapp.Namespace("shell:Downloads").Self.Path
D:\Downloads
PS C:\Windows>
参考記事
下記の2つの記事を組み合わせる事で実現できた。
その他の取得可能なパス一覧
Shellコマンド一覧 < クリックで折りたたみが開く >
コマンド結果の例では、ログインユーザーがAdministrator
である場合を想定した内容となる。
取得できる内容 | 引数 | コマンド結果の例 |
---|---|---|
ユーザー Captures | shell:Captures |
C:\Users\Administrator\Videos\Captures |
パブリック AppData | shell:Common AppData |
C:\ProgramData |
ユーザー AppData | shell:AppData |
C:\Users\Administrator\AppData\Roaming |
ユーザー Local AppData | shell:Local AppData |
C:\Users\Administrator\AppData\Local |
パブリック Desktop | shell:Common Desktop |
C:\Users\Public\Desktop |
ユーザー Desktop |
shell:Desktop or shell:ThisPCDesktopFolder
|
C:\Users\Administrator\Desktop |
パブリック Documents | shell:Common Documents |
C:\Users\Public\Documents |
ユーザー Documents |
shell:Local Documents or shell:Personal
|
C:\Users\Administrator\Documents |
パブリック Programs | shell:Common Programs |
C:\ProgramData\Microsoft\Windows\Start Menu\Programs |
ユーザー Programs | shell:Programs |
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs |
パブリック Start Menu | shell:Common Start Menu |
C:\ProgramData\Microsoft\Windows\Start Menu |
ユーザー Start Menu | shell:Start Menu |
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu |
パブリック Startup | shell:Common Startup |
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp |
ユーザー Startup | shell:Startup |
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup |
パブリック Templates | shell:Common Templates |
C:\ProgramData\Microsoft\Windows\Templates |
ユーザー Templates | shell:Templates |
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates |
パブリック Downloads | shell:CommonDownloads |
C:\Users\Public\Downloads |
ユーザー Downloads |
shell:Downloads or shell:Local Downloads
|
C:\Users\Administrator\Downloads |
パブリック Music | shell:CommonMusic |
C:\Users\Public\Music |
ユーザー Music |
shell:Local Music or shell:My Music
|
C:\Users\Administrator\Music |
パブリック Pictures | shell:CommonPictures |
C:\Users\Public\Pictures |
ユーザー Pictures |
shell:Local Pictures or shell:My Pictures
|
C:\Users\Administrator\Pictures |
パブリック Video | shell:CommonVideo |
C:\Users\Public\Videos |
ユーザー Video |
shell:Local Videos or shell:My Video
|
C:\Users\Administrator\Videos |
Contacts | shell:Contacts |
C:\Users\Administrator\Contacts |
Cookie | shell:Cookies |
C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCookies |
Credentials | shell:CredentialManager |
C:\Users\Administrator\AppData\Roaming\Microsoft\Credentials |
Crypto | shell:CryptoKeys |
C:\Users\Administrator\AppData\Roaming\Microsoft\Crypto |
Favorites | shell:Favorites |
C:\Users\Administrator\Favorites |
Fonts | shell:Fonts |
C:\Windows\Fonts |
History | shell:History |
C:\Users\Administrator\AppData\Local\Microsoft\Windows\History |
Links | shell:Links |
C:\Users\Administrator\Links |
LocalAppDataLow | shell:LocalAppDataLow |
C:\Users\Administrator\AppData\LocalLow |
OneDrive | shell:OneDrive |
C:\Users\Administrator\OneDrive |
ログインユーザーフォルダー |
shell:Profile or shell:UsersFilesFolder
|
C:\Users\Administrator |
ProgramFiles(64bit) | shell:ProgramFiles |
C:\Program Files |
ProgramFiles(32bit) | shell:ProgramFilesX86 |
C:\Program Files (x86) |
Common Files(64bit) | shell:ProgramFilesCommon |
C:\Program Files\Common Files |
Common Files(32bit) | shell:ProgramFilesCommonX86 |
C:\Program Files (x86)\Common Files |
Public | shell:Public |
C:\Users\Public |
パブリック Libraries | shell:PublicLibraries |
C:\Users\Public\Libraries |
Recent | shell:Recent |
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent |
Resources | shell:ResourceDir |
C:\Windows\Resources |
SavedGames | shell:SavedGames |
C:\Users\Administrator\Saved Games |
SavedPictures | shell:SavedPictures |
C:\Users\Administrator\Pictures\Saved Pictures |
Searches | shell:Searches |
C:\Users\Administrator\Searches |
SearchHistoryFolder | shell:SearchHistoryFolder |
C:\Users\Administrator\AppData\Local\Microsoft\Windows\ConnectedSearch\History |
SendTo | shell:SendTo |
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo |
System32 | shell:System |
C:\Windows\System32 |
SystemCertificates | shell:SystemCertificates |
C:\Users\Administrator\AppData\Roaming\Microsoft\SystemCertificates |
SystemX86 | shell:SystemX86 |
C:\Windows\SysWOW64 |
ユーザールートフォルダー | shell:UserProfiles |
C:\Users |
UserProgramFiles | shell:UserProgramFiles |
C:\Users\Administrator\AppData\Local\Programs |
UserProgramFilesCommon | shell:UserProgramFilesCommon |
C:\Users\Administrator\AppData\Local\Programs\Common |
Windowsフォルダー | shell:Windows |
C:\Windows |
まとめ
- Windows OSのオブジェクト(Shell.Application)を使う事でPowerShellでも取得できた。
関連記事
Discussion