标题: [文件操作] 用cmd命令打开指定文件的属性窗口 [打印本页]
作者: 小白龙 时间: 2023-4-19 11:34 标题: 用cmd命令打开指定文件的属性窗口
如何用批处理命令, 打开指定文件的属性窗口
就是选中文件后,点右键, 再点属性后弹出的那个窗口, 是不是一个shell命令, 从哪里可以找到?
作者: czjt1234 时间: 2023-4-19 12:57
- ' & cls & cscript.exe /nologo /e:vbscript "%~f0" "C:\Program Files" & pause & exit
-
- Set oShell = CreateObject("Shell.Application")
- Set oFolderItem = oShell.NameSpace(17).ParseName(wsh.Arguments(0))
- oFolderItem.InvokeVerb "Properties"
- wsh.Sleep 60 * 1000
复制代码
作者: 小白龙 时间: 2023-4-19 13:28
回复 2# czjt1234
多谢大佬,
我试了一下文件参数, 单文件可以, 那多个文件怎么实现呢?
手动操作时, 选定了多个文件, 然后点右键, 选择属性, 弹出一个多个文件属性窗口
作者: czjt1234 时间: 2023-4-19 13:42
vbs- Set oShell = CreateObject("Shell.Application")
- Set oFolder = oShell.NameSpace("C:\windows")
- Set oFolderItems = oFolder.Items()
- oFolderItems.Filter &H40 + &H80 + &H10000, "*.exe"
- oFolderItems.InvokeVerbEx "Properties"
- wsh.Sleep 60 * 1000
复制代码
指定文件夹下的所有 .exe 文件
作者: 小白龙 时间: 2023-4-19 14:07
回复 4# czjt1234
多谢大佬, 我的意思是里面的两个文件, 比较, a.txt和c.txt 只显示这两个文件的属性窗口
作者: czjt1234 时间: 2023-4-19 14:20
- Set oShell = CreateObject("Shell.Application")
- Set oFolder = oShell.NameSpace("C:\windows")
- Set oFolderItems = oFolder.Items()
- oFolderItems.Filter &H40 + &H80 + &H10000, "?.txt"
- oFolderItems.InvokeVerbEx "Properties"
- wsh.Sleep 60 * 1000
复制代码
只会这样了,所有单个字母的名字的txt
作者: czjt1234 时间: 2023-4-19 15:26
你可以把你的真实目的说出来
看属性的意义何在,是要看文件总大小,比较2个地方的文件总大小的差异?
作者: 小白龙 时间: 2023-4-19 16:23
回复 7# czjt1234
目的就是看指定的N个文件的属性, 我知道用PS能取得对象的属性, 但是不直观,
作者: czjt1234 时间: 2023-4-19 16:54
回复 8# 小白龙
属性无非总大小啊
要是看指定的几个文件的总大小倒是可以
作者: idwma 时间: 2023-4-19 19:12
回复 6# czjt1234
多个文件名试试用分号;隔开
像“a.txt;b.txt”
作者: 小白龙 时间: 2023-4-19 19:37
回复 10# idwma
不行, 提示缺少对象
作者: idwma 时间: 2023-4-19 19:58
回复 11# 小白龙
https://learn.microsoft.com/zh-c ... 2.filedialog.filter
这个是参考文档的,意思应该是一样的,不行就不知道了
作者: czjt1234 时间: 2023-4-19 20:25
- Set oShell = CreateObject("Shell.Application")
- Set oFolder = oShell.NameSpace("C:\windows")
- Set oFolderItems = oFolder.Items()
- oFolderItems.Filter &H40 + &H80 + &H4000 + &H10000, "a.txt;b.txt"
- oFolderItems.InvokeVerbEx "Properties"
- wsh.Sleep 60 * 1000
复制代码
作者: 小白龙 时间: 2023-4-19 21:14
回复 13# czjt1234
完整代码是下面这样吗? 一直光标闪,没有动静- ' & cls & cscript.exe /nologo /e:vbscript "%~f0" & pause & exit
-
- Set oShell = CreateObject("Shell.Application")
- Set oFolder = oShell.NameSpace("C:\windows")
- Set oFolderItems = oFolder.Items()
- oFolderItems.Filter &H40 + &H80 + &H4000 + &H10000, "a.txt;b.txt"
- oFolderItems.InvokeVerbEx "Properties"
- wsh.Sleep 60 * 1000
复制代码
作者: czjt1234 时间: 2023-4-19 21:19
非要bat吗,我这是vbs
一个是bat后缀名,一个是vbs后缀名
vbs还没有难看的黑框
作者: czjt1234 时间: 2023-4-19 21:27
本帖最后由 czjt1234 于 2023-4-19 21:29 编辑
bat- ' & cls & cscript.exe /nologo /e:vbscript "%~f0" "C:\Windows" "regedit.exe;win.ini" & pause & exit
-
- Set oShell = CreateObject("Shell.Application")
- Set oFolder = oShell.NameSpace(wsh.Arguments(0))
- Set oFolderItems = oFolder.Items()
- oFolderItems.Filter &H40 + &H80 + &H10000, wsh.Arguments(1)
- oFolderItems.InvokeVerbEx "Properties"
- wsh.Sleep 60 * 1000
复制代码
把 "C:\Windows" "regedit.exe;win.ini" 改成你的目录和文件名
作者: 小白龙 时间: 2023-4-19 22:06
回复 15# czjt1234
多谢大佬, 刚刚发现, 不加后面的延时, 窗口直接就关了, 有办法去掉延时吗?
作者: czjt1234 时间: 2023-4-20 05:45
回复 17# 小白龙
不能去掉,这个 shell 就这样,除非有别的对象可以
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |