Board logo

标题: [系统相关] 根据不同卷大小执行不同的命令应该怎么写呢 [打印本页]

作者: newyun    时间: 2019-4-26 10:55     标题: 根据不同卷大小执行不同的命令应该怎么写呢

首先呢是环境,我是想判断电脑上面可移动设备的分区,可以用for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value') do (set DriveU=%%a)来获取,获取到以后我是想根据不同的卷大小来执行不同的命令,,比如卷大小  小于1G执行a.exe 卷大小 大于1G执行b.exe...先谢谢各位了
作者: zaqmlp    时间: 2019-4-26 13:33

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. for /f "tokens=1,2" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID^,Size^|find ":"') do (
  7.     set DeviceID=%%a
  8.     set Size=0000000000000000%%b
  9. )
  10. if not defined DeviceID (goto end)
  11. set Size=%Size:~-16%
  12. echo;%DeviceID%
  13. echo;%Size%
  14. if "%Size%" leq "0000001073741824" (
  15.     start "" "a.exe"
  16. ) else (
  17.     start "" "b.exe"
  18. )
  19. :end
  20. echo;%info%
  21. pause
复制代码

作者: newyun    时间: 2019-4-26 17:05

好的,谢谢。因为这两天有点忙等我找个时间测试下。不懂再红包问你
作者: newyun    时间: 2019-4-29 14:56

回复 2# zaqmlp


    你好,,我那天测试了一下u盘是没有问题的,但是移动设备挂载出来的usb设备无法成功
以下是我运行wmic LogicalDisk获取到的信息
��Access    Availability    BlockSize    Caption    Compressed    ConfigManagerErrorCode    ConfigManagerUserConfig    CreationClassName    Description              DeviceID    DriveType    ErrorCleared    ErrorDescription    ErrorMethodology    FileSystem    FreeSpace        InstallDate    LastErrorCode    MaximumComponentLength    MediaType    Name    NumberOfBlocks    PNPDeviceID    PowerManagementCapabilities    PowerManagementSupported    ProviderName    Purpose    QuotasDisabled    QuotasIncomplete    QuotasRebuilding    Size                  Status    StatusInfo    SupportsDiskQuotas    SupportsFileBasedCompression    SystemCreationClassName    SystemName              VolumeDirty    VolumeName    VolumeSerialNumber   
0                                                                C:              FALSE                                                                                                                Win32_LogicalDisk    Local  Fixed  Disk    C:                3                                                                                                                        NTFS                30204657664                                                            255                                          12                  C:                                                                                                                                                                                                                              TRUE                        FALSE                          FALSE                          64425553920                                            TRUE                                TRUE                                                    Win32_ComputerSystem          SS-20180620FANE    FALSE                64Win7            A4B492B3                        
0                                                                D:              FALSE                                                                                                                Win32_LogicalDisk    Local  Fixed  Disk    D:                3                                                                                                                        NTFS                5039 4034176                              255                     12         D:                                                                                                               TRUE            FALSE             FALSE             55605415936                      TRUE                TRUE                          Win32_ComputerSystem     SS-20180620FANE  FALSE                    E17461ED            

0                                E:       FALSE                                                        Win32_LogicalDisk  Local Fixed Disk  E:        3                                                            FAT         68927488                                 255                     12         E:                                                                                                                                                                   86966272                         FALSE               FALSE                         Win32_ComputerSystem     SS-20180620FANE  FALSE                    07E40007
作者: zaqmlp    时间: 2019-4-29 15:37

回复 4# newyun

乱的,没法看,建议导出的文本上传;如果是移动磁盘,DriveType='3',跟本地磁盘一样
作者: Batcher    时间: 2019-4-29 16:11

回复 4# newyun


    DriveType无法区分本地硬盘和移动硬盘
作者: newyun    时间: 2019-4-29 17:41

回复 6# Batcher


    请问管理大大有更好的解决方案吗?
作者: newyun    时间: 2019-4-29 17:58

回复 2# zaqmlp


    有没有办法根据这个来判断驱动器所在的盘
作者: zaqmlp    时间: 2019-4-29 19:01

回复 8# newyun

没赞助没动力呀
作者: newyun    时间: 2019-4-29 19:55

回复 9# zaqmlp


    我27号当天就赞助过了5块钱。。虽然少了点
作者: zaqmlp    时间: 2019-4-29 20:25

回复 10# newyun
  1. @echo off
  2. >"%tmp%\$t.js" echo;try{WSH.echo(WSH.StdIn.ReadAll().replace(/\s*[\r\n]+/g,'\r\n'))}catch(e){}
  3. for /f "tokens=1* delims==" %%a in ('wmic DiskDrive where "InterfaceType='USB'" get Index /value^|find "="^|cscript -nologo -e:jscript "%tmp%\$t.js"') do (
  4.     rem echo;"%%b"
  5.     for /f "tokens=1,2* delims==" %%c in ('wmic path Win32_LogicalDiskToPartition get Antecedent^,Dependent^|find "Disk #%%b,"^|cscript -nologo -e:jscript "%tmp%\$t.js"') do (
  6.         echo;%%~e
  7.         wmic LogicalDisk where "DeviceID='%%~e'" get Size
  8.     )
  9. )
  10. pause
复制代码

作者: newyun    时间: 2019-4-30 09:49

回复 11# zaqmlp


  
你好,,我试了下获取不到实例

下面这个是我wmic DiskDrive以后的结果,,是有usb的,我在想是不是有空格导致的
作者: zaqmlp    时间: 2019-4-30 12:31

回复 12# newyun
加我Q




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2