upside
反病毒 反诈骗 反虐犬
|
分享:
▼
x0
|
[Basic][求助] 编辑批次语法 发生语法错误 (已解决)
Print #1, "echo @="\"%%1\" %%*">>Fixassoc.reg" 这几行 有 % 字元的命令字串 都会出现语法错误的问题 造成无法编辑 请问如何修改 才不会出现错误 该% 字元 是必备命令 不可变更或删除 否则此命令会失效 'rexe.bat 恢复bat.cmd.com.exe.pif.scr.txt.ini文件关联 Open "c:\Progra~1\KillTr~1\rexe.bat" For Output As #1 Print #1, "@echo off" '让批次档不会出现指令讯息 Print #1, "" Print #1, "echo Fixassoc.bat" '用于恢复bat.cmd.com.exe.pif.scr.txt.ini文件关联 Print #1, "echo." Print #1, "if %os%==Windows_NT goto reg5" Print #1, "echo REGEDIT4 > Fixassoc.reg" Print #1, "GoTo start" Print #1, ":reg5" Print #1, "echo Windows Registry Editor Version 5.00>Fixassoc.reg" Print #1, ":start" Print #1, "echo.>>Fixassoc.reg" Print #1, "echo >>Fixassoc.reg" Print #1, "echo @="\"%%1\" %%*">>Fixassoc.reg" Print #1, "echo.>>Fixassoc.reg" Print #1, "if %os%==Windows_NT goto cmd" Print #1, "GoTo com" Print #1, ": cmd" Print #1, "echo >>Fixassoc.reg" Print #1, "echo @="\"%%1\" %%*">>Fixassoc.reg" Print #1, "echo.>>Fixassoc.reg" Print #1, ": com" Print #1, "echo >>Fixass .. 访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容
[ 此文章被upside在2007-01-11 14:45重新编辑 ]
|
爸爸 你一路好走
|
x0
[楼 主]
From:台湾 | Posted:2007-01-09 09:19 |
|
|
chaiyuchi
|
分享:
▲
▼
下面是引用upside于2007-01-10 21:12发表的 : Print #1, "echo @=" \ "%%1\" / S; ">>Fixassoc.reg" Print #1, "echo @="NOTEPAD.EXE %%1">>Fixassoc.reg"
修改版 第一行应该OK 第两行还在研究 Print #1, "echo @=" & Chr$(34) & "\" & Chr$(34) & "%%1\" & Chr$(34) & " /S" & Chr$(34) & ">>Fixassoc.reg"
Print #1, "echo @="NOTEPAD.EXE" & Chr$(34) & "\" & Chr$(34) & "%%1\">>Fixassoc.reg"
我想你还是不习惯怎么去切割出重点吧 只要把一组一组区分开来 真的不会太难的 不过我想不到 居然是为了这套伟大的软体 在做奋斗@@ 废话不多说了 我就来说说重点啰 第一个 Print #1, "echo @=" \ "%%1\" / S; ">>Fixassoc.reg"
但你解释为 Print #1, "echo @=" & Chr$(34) & "\" & Chr$(34) & "%%1\" & Chr$(34) & " /S" & Chr$(34) & ">>Fixassoc.reg"
将之切割之后来分析 你在/S;这部分 好像少了这个符号--> ; 我不清楚是否重要 不过还是先依照你原始的模式 来解析好了 Print #1, "echo @=" & Chr$(34) & "\" & Chr$(34) & "%%1\" & Chr$(34) & " /S" & Chr$(34) & ">>Fixassoc.reg" 组合起来之后 所输出的字元应该为 echo @="\"%%1"/S">>Fixassoc.reg
而如果你最原始的那个符号有效的话 那么应该输出的为 echo @="\"%%1"/S;">>Fixassoc.reg
所以正确应该是 Print #1, "echo @=" & Chr$(34) & "\" & Chr$(34) & "%%1\" & Chr$(34) & " /S;" & Chr$(34) & ">>Fixassoc.reg"
第二题则是 Print #1, "echo @="NOTEPAD.EXE %%1">>Fixassoc.reg"
那么也应该变成 print #1, "echo @=" & chr$(34) & "NOTEPAD.EXE %%1" & chr$(34) & ">>Fixassoc.reg"
把他切割出来的话 就变成 print #1, "echo @=" & chr$(34) & "NOTEPAD.EXE %%1" & chr$(34) & ">>Fixassoc.reg" 所以正确字元为 echo @="NOTEPAD.EXE %%1">>Fixassoc.reg
很简单吧^^"
|
在下判断之时,应先破除内心的成见,否则,你将会用一种错误的标准去衡量,就像患有黄疸病的人,把一切都看成是黄色一样。 对人生加以思索的人,觉得人生是喜剧,只凭感触而未思索的,便觉人生是悲剧。
|
x1
[4 楼]
From:台湾中华电信HINET
| Posted:2007-01-10 22:11 |
|
|
upside
反病毒 反诈骗 反虐犬
|
分享:
▲
完整的程式码
Private Sub Form_Load() Form2.Show 'reset.bat 修复系统与网路 Open "c:\Progra~1\KillTr~1\reset.bat" For Output As #1 Print #1, "@echo off" '让批次档不会出现指令讯息 Print #1, "" Print #1, "regedit /s WinSock2.reg" '修复 WinSock2 Print #1, "regsvr32 /s shdocvw.dll" '修复 IE Print #1, "regsvr32 /s msjava.dll" Print #1, "regsvr32 /s urlmon.dll" Print #1, "regsvr32 /s mshtml.dll" Print #1, "regsvr32 /s browseui.dll" Print #1, "regsvr32 /s jscript.dll" Print #1, "regsvr32 /s vbscript.dll" Print #1, "" Print #1, "regedit /s index.reg" '解决首页被绑架 Print #1, "" '恢复 hosts & system.ini & win.ini 档案 Print #1, "attrib -s -h -r C:\WINDOWS\system32\drivers\etc\hosts" Print #1, "attrib -s -h -r C:\Windows\system.ini" Print #1, "attrib -s -h -r C:\Windows\win.ini" Print #1, "copy hosts C:\WINDOWS\system32\drivers\etc" Print #1, "copy system.ini C:\Windows\" Print #1, "copy win.ini C:\Windows\" Print #1, "regedit /s SafeBoot.reg" '修复无法进入安全模式 Print #1, "" '解决执行档(.exe)无法执行 Print #1, "Call reexe.bat" Print #1, "" '解决该记忆体不能为 read或written Print #1, "for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1" Print #1, "" Print #1, "del c:\Progra~1\KillTr~1\reset.bat" '批次档自删 Print #1, "exit" '离开 Close #1 MsgBox "系统进程分析成功!! 请在桌面上观看日志" 'dos执行后也消失!工作列上dos会一闪即逝!即成功了! Shell "command.com /c c:\Progra~1\KillTr~1\reset.bat", 6 End '自己结束!后续的工作交给非同步的批次档完成! Call Shell(App.Path & "\Progra~1\KillTr~1\reset.bat", 1) End Sub
|
爸爸 你一路好走
|
x0
[5 楼]
From:台湾 | Posted:2007-01-10 22:23 |
|
|
|