如何寫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%...... 

文章來源:https://tw.answers.yahoo.com/question/index?qid=20...

arrow
arrow

    Johnson峰 發表在 痞客邦 留言(0) 人氣()