
[已解決]批處理如何對含有指定內容行的特定字段進行替換[附源碼求]最后由 kingshui 于 -3-12 19:30昨晚寫了個firefox啟動器的批處理,對于prefs.js里的“download”那段本來是想用變量替換的方法來實現的,但是實在是想不出來好招。所以寫了下面一堆來實現我要的效果。求精簡及指正比如:路徑的判讀,這里沒有實現。文本操作我總感覺我寫的不夠精簡,求指正。謝謝
nclick="copycode($('code0'));">復制代碼
- @echo off
- setlocal enableextensions
- cd /d %~dp0
- :checkini
- if exist myfirefox.ini goto downdir
- echo [Settings]>myfirefox.ini
- echo FirefoxPath=Firefoxfirefox.exe>>myfirefox.ini
- echo ProfileDir=profiles>>myfirefox.ini
- echo CustomPluginsDir=plugin>>myfirefox.ini
- echo CustomCacheDir=>>myfirefox.ini
- echo CheckDefaultBrowser=1>>myfirefox.ini
- echo params=/Prefetch:1 -turbo>>myfirefox.ini
- echo DownDir=Downloads>>Myfirefox.ini
- setlocal enabledelayedexpansion
- for /f delims= %%i in ('findstr = Myfirefox.ini') do set %%i
- :cleancache
- if exist %ProfileDir%cache ( rd /s/q %ProfileDir%cache )
- if exist %ProfileDir%_CACHE_CLEAN_ ( del /f/q %ProfileDir%_CACHE_CLEAN_ )
- if exist cache rd /s/q cache
- if exist _cache_clean_ del /f/q _cache_clean_
- :downdir
- if not exist %DownDir% md %DownDir%
- set prefs=%~dp0%ProfileDir%prefs.js
- set downdir=%~dp0%DownDir%
- set dirname=%downdir:=%
- set ddir=user_pref(browser.download.folderList, 2);
- set downdir=user_pref(browser.download.dir,%dirname%);
- find browser.download.dir %prefs%
- set msg=%errorlevel%
- if %msg% equ 1 (
- echo,>> %prefs%
- echo !downdir! >> %prefs%
- )
- if %msg% equ 0 (
- findstr /v browser.download.dir %prefs%>str
- move /y str %prefs%
- echo,>> %prefs%
- echo !downdir! >> %prefs%
- )
- find user_pref(browser.download.folderList, 2); %prefs%
- set ddirerror=%errorlevel%
- if %ddirerror% equ 1 (
- echo,>> %prefs%
- echo !ddir! >> %prefs%
- )
- if %ddirerror% equ 0 (
- findstr/v browser.download.folderList %prefs%>dstr
- move /y dstr %prefs%
- echo,>> %prefs%
- echo !ddir! >> %prefs%
- )
- :run
- start %FirefoxPath% -profile %ProfileDir% %params%

