问:
嗨,Scripting Guy!我想做一些看上去非常简单的事情:在脚本中调用 dir 命令。但是好像不起作用。怎样实现我的想法呢?
-- CR, 墨西哥城,墨西哥
答:
你好, CR.从你的邮件来看,你想做一件类似如下所示的简单工作:
Set objShell = CreateObject("Wscript.Shell") objShell.Run("dir"), 1, TRUE
但是,您并没有得到一个当前文件夹中所有文件的列表,而是得到了一条信息 The system cannot find the file specified(系统无法找到指定的文件)。为什么会这样呢?
出现这个问题的原因是这样的:您的计算机中实际上 并没有 一个叫做“Dir”的文件。您可以搜索 dir.exe 或 dir.com;肯定无法找到它们。实际上,dir 是命令行外壳(cmd.exe 或 command.exe,具体情况根据所运行 Windows 的版本而定)的一个内部命令。也就是说,dir 命令只能在命令行窗口中使用。为了证明这一点,请打开命令行窗口,输入 dir,然后按 ENTER 键。您应该看到当前目录下的所有文件和文件夹列表。现在,打开运行 对话框,输入dir ,然后按 ENTER 键。您将看到一条如下所示的错误信息:
但是,这并不意味着您很不走运。实际上 还是 有办法在脚本中调用 Dir 命令的;只不过您必须足够聪明。由于 dir 是一个内部命令,所以您只能调用命令行外科,然后将 Dir 作为一个命令行参数传递给它。让我们看一个利用了这个技巧的脚本,然后具体解释一下它的工作原理:
Set objShell = CreateObject("Wscript.Shell") objShell.Run("%comspec% /k dir"), 1, TRUE
脚本的第一行简单创建了 WSH Shell 对象的一个实例,然后在第二行使用 Run 方法调用 dir 命令。但是,请注意:我们没有直接指定 dir;而是指定了 %comspec% /k dir。该命令字符串可以被分解为下面这样:
%comspec%
打开一个命令行窗口。%comspec% 是一个指向当前命令行外壳的环境变量。通过使用 %comspec%,您不必担心命令行外壳是 cmd.exe 还是 command.exe;%comspec% 会自动选择正确的一个。
/k
在调用 Dir 命令后,确保窗口始终保持打开。这就是 /k 参数的用处。如果我们想要确保命令窗口会在 Dir 命令调用完成后被自动关闭,应该将 /k (keep) 修改为 /c (close)。
dir
运行 dir 命令。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]