
[已解決]批處理怎樣調用reg2infcom直接生成精簡inf文件論壇版規要求每個問題單獨發一個帖子,我這個帖子的標題不知是否合適?因為用批處理調reg2inf.com生成inf文件所遇到的問題都解決了,精簡的合理組裝代碼不知怎樣更簡潔完美,故此趁熱打鐵,請朋友們幫忙完善謝謝!注冊表轉換成inf文件部分的代碼[成功]:
刪除inf文件累贅內容部分[部分成功,需要完善處]:(需要刪除包含下列字符的行:; _DelReg [email protected], 2002 [DestinationDirs])([email protected], 2002行最好是空行,不然還需要打開手工加入空行)nclick="copycode($('code0'));">復制代碼
- @echo off
- title=注冊表文件自動為轉換*.inf
- %~d1
- cd %~p1
- rem 文件名+后綴
- set file=%~nx1%
- rem 后綴名
- set hole=%~x1%
- rem 后綴名前面加0 防止后綴名為空的情況。也可以加其他的
- if 0%hole% equ 0.reg goto run
- :run
- %~dp0reg2inf.com %file%>nul
去掉inf文件名中多余的字符[Batcher和hanyeguxing分別寫了兩個成功的方案]:nclick="copycode($('code1'));">復制代碼
- (for /f delims= %%i in (***.reg.inf) do if not %%i==[;] if not %%i==[****_DelReg] if not %%i==[email protected], 2002 if not %%i==[DestinationDirs] echo %%i)>temp.inf
- rem 刪除帶;的行
- setlocal enabledelayedexpansion
- for /f delims= %%i in ('dir /b/s/a-d %~dp0*.inf') do (
- findstr /b /i /v ; %%i>%%~dpni.new
- del /q %%i
- ren %%~dpni.new %%~ni.inf
- endlocal
- rem 刪除空行
- setlocal enabledelayedexpansion
- for /f delims= %%b in ('dir /b/s/a-d %~dp0*.inf') do (
- findstr /r /c:[^ ] %%b>%%~dpi__%%~nxi
- del /q %%b
- ren %%~dpi__%%~nxi %%~nxi)
- endlocal
- ... ...
附reg2inf.comnclick="copycode($('code2'));">復制代碼
- setlocal enabledelayedexpansion
- for %%a in (*.reg.inf) do (
- for %%h in (%%~na) do (
- ren %%a %%~nh.inf
- rem (@echo off&setlocal enabledelayedexpansion
- for %%a in (*.reg.inf) do (
- set a=%%a
- ren %%a !a:~0,-7!inf
- )

