如何寫bat檔,讓它自行取得IP與電腦名稱
@echo off
for /f 雙tokens=2 delims==雙 %%i in (單set ^| find /I 雙COMPUTERNAME雙單) do (
for /f 雙tokens=1 delims= 雙 %%j in (雙%%i雙) do (
set N=%%j
)
)
for /f 雙tokens=2 delims=:雙 %%i in (單ipconfig ^| find /I 雙IP Address雙單) do (
for /f 雙tokens=1 delims= 雙 %%j in (雙%%i雙) do (
set S=%%j
echo test.exe ......%S%......=%N%......
)
)
由於回答內容使用單雙引號有問題,請自行將上述的 Script 中的《雙》字改為雙引號,《單》字改為單引號後存檔 (例如 IP.bat),注意別更動到單雙引號間的空白字元數。
測試:直接執行 IP.bat
正式:將《echo》去掉
若執行時出現《這個時候不應有 /f。》訊息,執行方式須改為
cmd /E:ON /C IP.bat
2008-05-22 11:34:24 補充:
上面是 Windows 2000 版的;以下是 2000/XP 通用的:
(假設 batch file 名稱為 ip.bat;若不是的話,請自行修改第三列的 call ip.bat)
由於補充內容有字數限制,請自行將三段內容依序結合成為一個 batch 檔。
第一段:
@echo off
if "%1"=="" (
call ip.bat 0
)
2008-05-22 11:34:48 補充:
第二段:
for /f "tokens=2 delims==" %%i in ('set^|find /I "COMPUTERNAME"') do (
for /f "tokens=1" %%j in ("%%i") do (
set N=%%j
)
)
2008-05-22 11:35:02 補充:
第三段:
for /f "tokens=2 delims=:" %%i in ('ipconfig^|find /I "IP Address"') do (
set A="%%i"
if "%1"=="0" (
exit /B 0
)
for /f "tokens=2" %%j in ("%A%") do (
echo test.exe ......%%j......=%N%......
)
)
留言列表