実現したいこと
PowerShellでデジカメ内のファイルをPCに移動したいのですが
そこにあるファイルをどうすれば扱えるのかがわかりません
発生している問題・エラーメッセージ
カメラをPCに接続するとアドレスバーには
PC\Camera\リムーバブル記憶域
このようなパスが表示されていてドライブ文字が割り当てられていません
Get-PSDriveで探してみましたがカメラは表示されていませんでした
どうすればカメラ内のファイルをPowerShellで扱えますか?
補足情報(FW/ツールのバージョンなど)
Windows 10 64bit
PowerShell 7.3.3
PowerShellのコンソールに以下を入力します。
Get-WmiObject -Class Win32_LogicalDisk | Format-List * | Out-String
実行すると、
.
.
.
Description : リムーバブル ディスク
.
.
.
Name : G:
と出てきます。この名前がドライブ文字になります。
エクスプローラーで(例)Gドライブを開くと中身を確認できます。
このコマンドを実行してみましたがカメラのリムーバブルディスクは表示されませんでした
(Get-WmiObject -Class Win32_LogicalDisk | ? { $_.Description -match "リムーバブル" }).count
としても0となってしまいます
またGet-WmiObjectはPowerShell7で廃止されていているので
上のはWindows PowerShell 5.1で試したものになります
https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.3#cmdlets-removed-from-powershell
申し訳ございませんでした。
当方PowerShell7は使用しておりませんが
以下の命令は参考になりますでしょうか?
■ドライブの一覧
[System.IO.DriveInfo]::GetDrives()
■ドライブ名とタイプ
foreach ($d in [System.IO.Directory]::GetLogicalDrives()){
$Type = (New-Object System.IO.DriveInfo($d)).DriveType
Write-Host $d $Type
}
いえいえ、可能性がある方法ならなんでもありがたいです
この2つも試してみましたがカメラのリムーバブルディスクは表示されませんでした
試しにカメラのショートカットを作ってみて
$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Camera.lnk")
$Shortcut.TargetPath
これでリンク先のパスを取得できないか試してみたところ
これも何も表示されませんでした
※参考になりそうなリンク
■カメラをPCに接続してもドライブレターが割り付かない
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12161967017?__ysp=Y2FtZXJhIOODieODqeOCpOODluaWh%2BWtlw%3D%3D
Ya.mmさん
質問者2016/7/22 13:57
それに、今のデジカメはUSB接続しても、ドライブレターどころか、
画像は見えてるけど、一旦PCにコピーしたのじゃないと、
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ソフトからは、カメラ→フォルダ(DICM等)→フォルダ(カメラ名?)で
画像を選んでも開けなくなってるはずですとカメラメーカーの回答です。
■USB接続したデジカメの写真データにアクセスする方法を教えてください。
https://social.msdn.microsoft.com/Forums/ja-JP/e6fa2d73-c530-493f-b1d7-e20e812d0d7e/usb255093215412375123831248712472124591251312398208893049512487?forum=vcgeneralja
Azuleanさん、お気遣い、大変有難うございます。
ご質問の件、特殊フォルダーの取得などにIShellFolderを使用しています。
使い方が悪いせいかもしれませんが、IShellFolderではデジカメの画像ファイルは検出できませんでした。
そもそもデジカメの記憶域はドライブレターを持っていないようですので、お手上げ状態です。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ちなみにエクスプローラではドライブレター無しに"D90"など、(カメラが提供していると思える)
デバイスの名前が表示されます。カメラのファームウェアから情報を取得しているのかも知れません。
Exif情報から攻める手も考えたのですが、うまく画像ファイル名を取得できませんでした。
2011年1月9日 14:45 返信|引用 シングルハンド のアバター シングルハンド0 ポイント
おおー!めちゃくちゃ参考になりそうです
どうしてこういう仕様なのかも理解できました
ちょっとこれで調べてみます
ありがとうございます!

あなたの回答
tips
プレビュー