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 |
|
|
|