中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-07 11:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教vbs 调用批命令的问题? 查看 765 回复 6
楼 主 请教vbs 调用批命令的问题? 发表于 2009-02-16 00:14 ·  中国 北京 石景山区 联通
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
请教vbs 调用批命令的问题?
请问下面的代码有问题吗?
代码:
Sh.Run "cmd /c call set Q=pc.htm&if exist c:\%Q% move /y c:\%Q% %windir%\%Q%&starT %windir%\%Q%",0


下面的代码可以精简吗?

代码:
Sh.Run "cmd /c if exist c:\pc.htm for %%a in (c:\pc.htm) do if %%~za lss 20480 del %%a"
2 发表于 2009-02-16 01:39 ·  中国 广东 广州 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线

Dim FSO,WSH
Set FSO=CreateObject("Scripting.FileSystemObject")
Set WSH=CreateObject("WScript.Shell")
If FSO.FileExists("C:\pc.htm") Then
FSO.MoveFile "C:\pc.htm",FSO.GetSpecialFolder(0) & "\"
WSH.RUN FSO.GetSpecialFolder(0) & "\pc.htm"
End If




Dim FSO
Set FSO=CreateObject("Scripting.FileSystemObject")
If FSO.FileExists("C:\pc.htm") Then
If FSO.GetFile("C:\pc.htm").SIZE < 20480 Then
FSO.DeleteFile("C:\pc.htm")
End If
End If



49206C6F766520796F752067757973 54656C3A3133383238343036373837
3 发表于 2009-02-16 10:38 ·  中国 北京 联通
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
有时候,Scripting.FileSystemObject 对vbs 来说,是致命的弱点。
4 发表于 2009-02-16 15:07 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
FSOx提供了很多操作文件 和文件夹的方法,楼上能够解释下你所说的弱点吗?
5 发表于 2009-02-16 15:07 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
Sh.Run "cmd /c call set Q=pc.htm&if exist c:\%Q% move /y c:\%Q% %windir%\%Q%&starT %windir%\%Q%",0


错误提示能发下吗?
6 发表于 2009-02-16 16:20 ·  中国 北京 联通
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
Originally posted by zhengqian529 at 2009-2-16 03:07 PM:
Sh.Run "cmd /c call set Q=pc.htm&if exist c:\%Q% move /y c:\%Q% %windir%\%Q%&starT %windir%\%Q%",0


错误提示能发下吗?


这句我改了,网上搜索了一下,加了个call ,以前没有加,运行没反应!
7 发表于 2009-02-16 16:22 ·  中国 北京 联通
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
Sh.Run "cmd /c if exist c:\pc.htm for %%a in (c:\pc.htm) do if %%~za lss 20480 del %%a"


这句能精简吗?
论坛跳转: