Powershell检查是否有SD \ CF卡(可能是多个),然后将JPG和CR2文件复制到不同目录中

问题描述 投票:0回答:1

目标:我想将多个SD \ CF卡中的文件(JPG和\或CR2)自动复制到我的照片存储系统中。

问题:与Powershell相比,我对Bash感到更舒服,但WSL2尚不容易支持USB驱动器。

问题:如何检查是否插入了一个或多个SD \ CF卡,并检查是否存在某些文件夹?在这种情况下,为[drive]:\DCIM\100CANON。我发现了this问题,但无法完全解决。理想情况下,我希望能够将输出存储在一个变量中,然后可以循环通过该变量(并运行所述复制例程)

powershell usb-drive file-management
1个回答
0
投票
Get-WMiObject -Class Win32_Volume | Select Name, DriveLetter, Caption, Label, DevideID, DriveType, Capacity

Get-CimInstance -ClassName Win32_Volume | Select Name, DriveLetter, Caption, Label, DevideID, DriveType, Capacity

或使用Win32_DiskDrive,Win32_DiskDrivePhysicalMedia,并使用Model属性值。

Partitions : 1
DeviceID   : \\.\PHYSICALDRIVE6
Model      : SDHC Card
Size       : 3964584960
Caption    : SDHC Card

...和Get-PSDrive ...

Get-PSDriive

Get-PSDrive -PSProvider FileSystem

# Results
<#
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead
#>

... cmdlet将列出所有连接的驱动器,如图所示。

过滤驱动器记录在这里:

Filtering get-psdrive to all Local Drives

DriveType是Win32_Volume结构的一个属性,该结构枚举 驱动器的类型。值3代表本地磁盘。下面是 值的完整列表。

0-未知

1-无根目录

2-可移动磁盘

3-本地磁盘

4-网络驱动器

5-光盘

6-RAM磁盘

注意,没有专门用于SD或CF的属性/选项。

因此,在您的用例中,如果您的SD / CF具有与上述类似的根标签,则可以使用Root属性值或使用驱动器大小作为目标,因为在正常情况下,您的相机/手机等存储介质的总大小总会小于32GB。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.