- set jobFile=changeJobPwd.bat
- echo @echo off>%jobFile%
- echo set test=1>>%jobFile%
- echo SETLOCAL ENABLEDELAYEDEXPANSION>>%jobFile%
- echo set taskname^=0>>%jobFile%
- echo set runas=0>>%jobFile%
- echo set status=0>>%jobFile%
- echo set fl=0>>%jobFile%
- echo for /f "tokens=1-2 delims=:" %%%%i in ('schtasks /query /v /fo list') do (>>%jobFile%
- echo if "%%i"=="TaskName" (>>%jobFile%
- echo set taskname=%%%%j>>%jobFile%
- echo )>>%jobFile%
- echo if "%%i"=="Scheduled Task State" (>>%jobFile%
- echo set status=%%%%j>>%jobFile%
- echo )>>%jobFile%
- echo if "%%i"=="Run As User" (>>%jobFile%
- echo set runas=%%%%j>>%jobFile%
- echo echo !taskname! !runas! !status!^>^>%%fl%%>>%jobFile%
- echo )>>%jobFile%
- echo )>>%jobFile%
- echo for /f "tokens=1-3 delims= " %%%%1 in (%%fl%%) do (>>%jobFile%
- echo for /f "delims=/" %%%%5 in (%%%%2) do (>>%jobFile%
- echo if %%%%6 == %os_id% and %%%%3 == "Enabled" (>>%jobFile%
- echo schtasks /change /tn %%%%1 /rp %%new_pwd_str%%>>%jobFile%
- echo )>>%jobFile%
- echo )>>%jobFile%
- echo )>>%jobFile%
- echo ENDLOCAL>>%jobFile%
- pause
复制代码 这段代码是用bat生成另外一个bat.
但- echo set taskname^=0>>%jobFile%
- echo set runas=0>>%jobFile%
- echo set status=0>>%jobFile%
- echo set fl=0>>%jobFile%
复制代码 这段代码没办法生成到changeJobPwd.bat.
而- echo set test=1>>%jobFile%
复制代码 只能输出set test=
那位大侠能解释一下原因么? |