找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 58649|回复: 19

[文件操作] 批处理如何区分当前文件是在硬盘打开、光盘打开、U盘打开?谢谢!

[复制链接]
发表于 2023-4-3 13:23:09 | 显示全部楼层 |阅读模式

在不同的介质里打开文件有没有什么不同的标记?

谢谢!
发表于 2023-4-3 13:38:30 | 显示全部楼层
介质是啥意思?
 楼主| 发表于 2023-4-3 13:51:35 | 显示全部楼层
回复 2# jyswjjgdwtdtj

指存储介质,硬盘、光盘、U盘的存储介质不同。
发表于 2023-4-3 16:12:54 | 显示全部楼层
这能有啥区别?都是软件读取文件的内容,“解释”出图片、视频、批处理………………
发表于 2023-4-3 16:15:00 | 显示全部楼层
硬是要说出点不同 就是文件们一个在C、D盘,一个在E、F、G、H、I、J、K盘
发表于 2023-4-3 18:07:27 | 显示全部楼层
wmic path Win32_LogicalDisk get DriveType

未知 (0)
无根目录 (1)
可移动磁盘 (2)
本地磁盘 (3)
网络驱动器 (4)
光盘 (5)
RAM 磁盘 (6)
 楼主| 发表于 2023-4-3 18:11:30 | 显示全部楼层
回复 5# jyswjjgdwtdtj

如何区分是“硬盘”,还是“光盘”、“U盘”呢?
 楼主| 发表于 2023-4-3 18:18:47 | 显示全部楼层
回复 6# czjt1234

谢谢 czjt1234 兄!

比如,现在是在“光盘”打开,DriveType 值是 “5”。

怎样才能得到 x=5  ?
发表于 2023-4-3 19:47:27 | 显示全部楼层
如果WMIC可用的话可以满足你的要求
发表于 2023-4-3 22:35:53 | 显示全部楼层
本帖最后由 yakeyun 于 2023-4-3 22:38 编辑

回复 8# Shuye


wmic path Win32_LogicalDisk get Caption,Description,DriveType

做关联盘符就可以取到对象了,比如抓取进程名文件路径,通过获取盘符,然后和后面的介质类型做匹配。
例如已知运行进程名为“test.exe”获取到的路径盘符是E:\,其运行介质为本地磁盘。

 楼主| 发表于 2023-4-4 00:50:47 | 显示全部楼层
回复 10# yakeyun

谢谢 yakeyun 兄!

不过,好像还不太明白。
发表于 2023-4-4 06:10:54 | 显示全部楼层
  1. @echo off
  2. set p=c:
  3. for /f "tokens=*" %%i in ('wmic logicaldisk where "name='%p%'" get DriveType^,Description^,name  /value') do (
  4.      for /f "tokens=*" %%j in ("%%i") do set %%j
  5. )
  6. echo %name%  %Description%
  7. pause
复制代码
 楼主| 发表于 2023-4-4 14:14:36 | 显示全部楼层
回复 12# terse

谢谢 terse 兄!

不过,在U盘上执行,结果还是:C:  Local Fixed Disk
发表于 2023-4-4 14:33:38 | 显示全部楼层
回复 11# Shuye


1.打开的文件是批处理还是EXE文件?
2.如果是EXE文件,运行后的进程名称是什么?
 楼主| 发表于 2023-4-4 14:55:15 | 显示全部楼层
回复 14# yakeyun

想在批处理的开头作个判断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:29 , Processed in 0.021378 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表