新手指南
要把公司軟件用的計劃任務(wù)用命令行批處理的方式導(dǎo)入一個新的系統(tǒng)里,所有通過查資料,一個可以用來導(dǎo)出和導(dǎo)入的腳本。
導(dǎo)出用法為:腳本名稱+空格+export
導(dǎo)入用法為:腳本名稱+空格+import
以下為內(nèi)容和注釋:
rem 以下為關(guān)閉命令打印@echo offrem 以下為清屏clsrem 以下為設(shè)置此批處理所有的環(huán)境變量只應(yīng)用于當前批處理setlocal EnableDelayedExpansionrem 以下為設(shè)置變量set runasUsername=domain/administratorset runasPassword=passwordrem 以下%1是在此批處理執(zhí)行時后面的第一個命令行參數(shù)(在執(zhí)行的格式:腳本名+export 就相當于跳轉(zhuǎn)到”:export“)if %1. == export. call :exportif %1. == import. call :importrem 以下為退出當前腳本,不是退出整個批處理exit /b 0:exportrem 以下為創(chuàng)建一個tasks文件夾,所有的錯誤不顯示md tasks 2>nulrem 以下為列出所有計劃任務(wù)并指定csv格式,然后找出與字符串TaskName不匹配的行,輸出到一個文本文件schtasks /query /fo csv | findstr /V /c:"TaskName" > tnlist.txtrem 循環(huán)查找以(,)為分隔符列出每一行的每一項,指定%%i為第一項,用tokens=1,2指定第二項%%j和第三項%%k(也可以rem 指定%%t為第一項,那么tokens=1,2指定第二項%%u和第三項%%v,第四項為%%W)for /F "delims=, tokens=1,2*" %%i in (tnlist.txt) do ( echo %%i echo %%j echo %%k set tn=%%irem 以下為設(shè)置fn為把tn的內(nèi)容里的/替換成# set fn=!tn:/=#! echo !tn! echo !fn!rem 以下為列出所有計劃任務(wù)并指定xml格式,輸出到當前目錄的tasks文件夾下的XXX.xml文件 schtasks /query /xml /TN !tn! > tasks/!fn!.xml)rem 刪除所有windows自帶的計劃任務(wù)del tasks/#Microsoft*.xmlexit /b 0rem 以下為導(dǎo)入標簽,在執(zhí)行的格式:腳本名+import 將會直接跳轉(zhuǎn)到這里開始執(zhí)行:importrem 在這個目錄里循環(huán)找到所有的xmlfor %%f in (tasks/*.xml) do ( rem 用call命令來調(diào)用(:importfile)標簽執(zhí)行,并賦予上面查找出來的名字為參數(shù) call :importfile "%%f")exit /b 0:importfilerem 以下為設(shè)置filename=上面用call命令調(diào)用時賦予的第一個參數(shù),如果是 set filename=%2則是第二個參數(shù) set filename=%1rem 以下為設(shè)置把filename里#字符替換為空set taskname=%filename:#=%rem 以下為設(shè)置把filename里tasks/字符替換為空set taskname=%taskname:tasks/=%rem 以下為設(shè)置把filename里.xml字符替換為空set taskname=%taskname:.xml=%rem 以下為用用戶名和密碼創(chuàng)建名字為XXX的計劃認為,以xml文件為參數(shù)schtasks /create /ru %runasUsername% /rp %runasPassword% /tn %taskname% /xml %filename% echo on
結(jié)束
這樣就可以導(dǎo)出所有不是系統(tǒng)自帶的計劃任務(wù)和導(dǎo)入現(xiàn)有的xml格式的計劃任務(wù)了
|
新聞熱點
疑難解答
圖片精選