中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 06:34
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何准确输出原文件的内容
可打印版本  2,602 / 38
第1楼 leton 发表于 2007-06-29 11:54
初级用户 发帖 72 积分 170
如何准确输出原文件的内容
我想把以下内容一起写到BAT文件内,执行时,再透过 >> 1.vbs 方式重新生成脚本,但出现问题,我把以下内容写到 BAT 中后,运行发现,某些内容没法输出到 1.VBS 内,如何解决???

1.vbs
strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")

For Each objProcess in colProcesses
If Right(objProcess.Name, 7) = "f1.bat" Then
Wscript.Quit
End If
Next

Set objShell = CreateObject("WScript.Shell")
objShell.Run "%windir%\data\f1.bat"
Wscript.Quit

[ Last edited by bjsh on 2007-7-31 at 10:24 AM ]
第2楼 lxmxn 发表于 2007-06-29 12:08
版主 发帖 4,938 积分 11,386
哪些内容没有输出到1.vbs内?
第3楼 HAT 发表于 2007-06-29 13:39
版主 发帖 5,017 积分 9,023
用%%代替%
特殊字符需要用^进行转义
第4楼 leton 发表于 2007-06-29 13:47
初级用户 发帖 72 积分 170
问题刚搜索找到解决方法了,谢谢各位。但还有几个问题想请教

1.% 号知道,但特殊字符特指那些?



;
#$^& 是这种吗?

2.我想把N个BAT集合在一个BAT内,在符合判断条件后,通过 >> 方式分别输出成不同用途BAT或VBS,可出现个小问题。。。。如下:

语句段间 空行输出'这样描述不知道对不'

原句
:1
goto 2
就这行,我用 @Echo >> %windir%\One-Week.bat 出现问题

:2
goto end

输出结果:ECHO 处于关闭状态。导致脚本没法继续运行。咋解决?
第5楼 dikex 发表于 2007-06-29 13:51
高级用户 发帖 366 积分 788
echo.>>%windir%\One-Week.bat
第6楼 leton 发表于 2007-06-29 14:00
初级用户 发帖 72 积分 170
受教了,又有个问题....呵呵

原句:
@Echo :Week7 >> %windir%\One-Week.bat
@Echo @Set Date="" >> %windir%\One-Week.bat
@Echo @For /f "tokens=2,3 delims=; " %%a in ('Date /T') do Set Date=%%a >> %windir%\One-Week.bat
@Echo @Echo ^%Date% >> %windir%\One-Week.bat
@Echo @If ^%Date% EQU 星期日 ( Goto WZ ) Else ( Goto Week2 ) >> %windir%\One-Week.bat

结果:
:Week7
@Set Date=""
@For /f "tokens=2,3 delims=; " %a in ('Date /T') do Set Date=%a
@Echo 2007-06-29 星期五
@If 2007-06-29 星期五 EQU 星期日 ( Goto WZ ) Else ( Goto Week2 )

?? ^%Date% EQU 星期日 输出后,直接被运行了 2007-06-29 星期五

咋回事?
第7楼 leton 发表于 2007-06-29 14:06
初级用户 发帖 72 积分 170
变量参数 %Data% 被运行了?????咋解决?加 %% ^^ 都没效果
第8楼 wudixin96 发表于 2007-06-29 14:07
银牌会员 发帖 931 积分 1,928
^%Date^%
第9楼 leton 发表于 2007-06-29 14:08
初级用户 发帖 72 积分 170
倒....^%*****%^ 我用错方法了。。。。

^%****^%.....谢谢
第10楼 leton 发表于 2007-06-29 14:15
初级用户 发帖 72 积分 170
^%Date^%

测试了,不行...

^%Date^%

运行后结果:^%Date^% 没了.....

原:
@Echo @If ^%Date^% EQU 星期日 ( Goto WZ ) Else ( Goto Week2 ) >> %windir%\One-Week.bat

输出结果:
@If EQU 星期日 ( Goto WZ ) Else ( Goto Week2 )
第11楼 leton 发表于 2007-06-29 14:35
初级用户 发帖 72 积分 170
??那位兄弟知道教教,谢谢
第12楼 wudixin96 发表于 2007-06-29 14:37
银牌会员 发帖 931 积分 1,928
抱歉抱歉。是%%date%%
第13楼 HAT 发表于 2007-06-29 14:38
版主 发帖 5,017 积分 9,023
try this one :)
第14楼 leton 发表于 2007-06-29 14:47
初级用户 发帖 72 积分 170
行了...嘿,谢了,又有个小问题.


@Echo @Call %%windir%%\Shutdown.vbs >> %windir%\One-Week.bat

结果:
@Call \Shutdown.vbs

....--! 自己都感觉纳闷了,没法2次输出?
第15楼 wudixin96 发表于 2007-06-29 14:50
银牌会员 发帖 931 积分 1,928
@Echo @Call %%%%windir%%%%\Shutdown.vbs >> %windir%\One-Week.bat
1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023