新聞中心
批處理BAT腳本是Windows操作系統(tǒng)中一種非常實用的腳本語言,它可以幫助我們自動化完成一些重復(fù)性的工作,在批處理腳本中,set命令是一個非常重要的命令,它可以用來設(shè)置或顯示環(huán)境變量,本文將對set命令的使用進行詳細的介紹。

set命令的基本用法
1、設(shè)置環(huán)境變量
使用set命令可以設(shè)置環(huán)境變量,語法如下:
set 變量名=變量值
我們可以設(shè)置一個名為PATH的環(huán)境變量,用于存儲程序的搜索路徑:
set PATH=C:Windows;C:Program FilesJava;C:Program FilesPython
2、顯示環(huán)境變量
使用set命令可以顯示當(dāng)前已經(jīng)設(shè)置的所有環(huán)境變量,語法如下:
set
我們可以查看當(dāng)前已經(jīng)設(shè)置的所有環(huán)境變量:
set
set命令的常用選項
1、/a:追加環(huán)境變量,而不是覆蓋原有的值,如果環(huán)境變量已經(jīng)存在,則在其值的后面追加新的值;如果環(huán)境變量不存在,則直接設(shè)置新的值。
我們可以追加一個名為JAVA_HOME的環(huán)境變量:
set JAVA_HOME=C:Program FilesJava /a
2、/p:提示用戶輸入要設(shè)置的值,這對于需要用戶輸入的環(huán)境變量非常有用。
我們可以提示用戶輸入一個名為USERNAME的環(huán)境變量:
set /p USERNAME=請輸入用戶名:
3、/x:刪除指定的環(huán)境變量,如果環(huán)境變量不存在,則不執(zhí)行任何操作。
我們可以刪除一個名為TEST的環(huán)境變量:
set TEST= /x
set命令的注意事項
1、set命令設(shè)置的環(huán)境變量僅對當(dāng)前的批處理腳本有效,當(dāng)腳本執(zhí)行完畢后,設(shè)置的環(huán)境變量會自動失效,如果需要永久設(shè)置環(huán)境變量,可以將set命令添加到系統(tǒng)的環(huán)境變量配置文件中(如Windows系統(tǒng)中的system32driversetchosts文件)。
2、set命令設(shè)置的環(huán)境變量是以字符串的形式存儲的,即使我們需要設(shè)置的是數(shù)字或其他類型的值,也需要將其轉(zhuǎn)換為字符串,我們可以將一個數(shù)字轉(zhuǎn)換為字符串并設(shè)置為環(huán)境變量:
set NUMBER=12345 /a echo %NUMBER% > temp.txt && type temp.txt | findstr /r "^[0-9]*$" > nul && set /p NUMBER=> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMBER% >> num.txt && for /f "delims=" %%i in (num.txt) do set NUMBER=%%i && del num.txt && echo %NUMBER%:%NUMTALBREAK>12345:12345>> num.txt && for /f "delims=" %i in (num.txt) do set NUMBER=!i! & goto endnum & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch & endlocal & goto endbatch &endnum:&for /f "tokens=*" %j in ('dir /b C:') do if not "%~j" == "num.txt" if not "%~j" == "nul" if not "%~j" == "temp.txt" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0" if not "%~j" == "%~nx0" if not "%~j" == "%~dp0ifnot "%~j" == "%~nx0ifnot "%~j" == "%~dp0ifnot "%~j" == apendnumifnot ""==12345goto startnum&goto startnum&goto start
網(wǎng)頁題目:批處理set命令
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/dpghopj.html


咨詢
建站咨詢
