bat腳本定義變數
㈠ bat命令定義變數
set var=1,等號兩邊的空格去掉,不然cmd會把var+空格當成一個變數名,空格+1當成變數值
㈡ bat如何設置環境變數
在bat中設置的變數,是局部變數,只在這個bat中有用,只在所在的cmd窗口中有用,在其他的cmd中可以調用系統變數,而不能調用其他cmd(bat)窗口的局部變數,即便那個cmd窗口還沒有關閉。
如果想在bat里設置變數,並添加到系統變數中,可以修改注冊表,方便的話可通過第三方程序,如 setx.exe
setx 的一點信息:
這個命令行工具提供了一種批量修改環境變數的方法,同時不需要使用任何編程方法或者是腳本。此外,除了可以獲得變數和值之外還可以跟注冊表的值掛上關系。在2000中除了setx.exe之外,其他沒有任何一種命令行工具可以直接設置系統變數值。只有通過控制面板和注冊表編輯器才能夠設置。如果有人說可以用set命令的話, 實際上這個CMD的內部命令只能夠設置當前控制台窗口的用戶環境變數。 setx允許你通過Command Line Mode,Registry Mode,File Mode,這三種模式來設置環境變數。
㈢ 如何在bat文件中定義變數和調用
批處理沒法像VBS那樣實現彈出代窗口接受數據,只能用如下的方式:
::═════代═══碼═══開═══始═════
@echo off
set/p t=請輸入時間並回車:(格式為 XX:XX:XX)
at %t% shutdown -s -t 0
pause
::═════代═══碼═══結═══束═════
㈣ bat中如何定義變數
@echo off
set "s="
set /a t=%random%%%62
call md %%s:~%t%,1%%
㈤ bat 創建變數
set %你的變數名%="路徑"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
" /v Java_Home /t reg_sz /d %你的變數名% /f >nul
㈥ bat腳本如何將命令執行的結果賦值給變數
這個問題也曾困擾我很久,後來發現只有兩條路可走
一是通過臨時文件做中轉, 用這種方式賦值 set /p 變數=<臨時文件
還有一種方式就是通過強大的for 命令,在 do 語句中來 set
㈦ bat 變數的作用域有問題 請高手指點一下謝謝
那就生成一個臨時文件,記錄路徑變數,然後再通過set/p讀取
MakeOutputDir.bat中加上一句輸出路徑內容的命令
1>$.Dir echo !BuildPath!
BuildConfig.bat中加上一句讀取臨時文件內容的命令
1set /p BuildPath=<$.Dir
㈧ 在.bat腳本中如何將一個命令的返回結果傳給一個變數
1、首先用記事本新建一個文件夾。
注意事項:
批處理文件的擴展名為bat 或cmd。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。應用於DOS和Windows系統中。
㈨ 關於bat里引用變數的問題
這與批處理的預處理機制有關。
批處理會把if後面的所有語句進行預處理,全都讀入內存,然都進行變數的擴展:將%n%與%m%進行擴展,也就是進行替換;但是,在if語句之前%n%,%m%都沒有進行定義,所以%n%,%m%就被認沒有定義變數,就會出錯。
但是你會說,我在if後進行了定義,你沒有開啟延遲變數,批處理就不能識別到你在if語句中進行的變數定義,所以你應該開啟延遲變數:
@echooff
set/pc=請輸入數字:
if%c%==1(
set/pn=請輸入wifi名稱:
netshwlansethostednetworkssid=!n!
set/pm=請輸入wifi密碼:
netshwlansethostednetworkkey=!m!
echo設置完成
pause
)
㈩ bat腳本怎麼將命令執行的結果賦值給變數
[解決辦法]
for /f "tokens=*" %i in ('ipconfig /all^|find /i "ipv4" ') do set yourvar=%i
[解決辦法]
for /f "tokens=2 delims=:(" %i in ('ipconfig /all^|find /i "ipv4" ') do set yourvar=%i
[解決辦法]
for /f "delims=" %i in ( 'ipconfig /all ^| find /i "ipv4" ') do set yourvar=%i