コマンドの複数行の実行結果を変数に代入
金曜日, 8月 30th, 2019無線LANのMACアドレスとコンピュータ名を取得し、サーバー上にあるCSVファイルに書き込む
@ECHO OFF
NET USE Z: <サーバーへのパス> <パスワード> <ユーザー名>
@ECHO “MACアドレスを登録します”
FOR /F %%a IN (‘ECHO “%COMPUTERNAME%”^,’) DO SET PCNAME=%%a
FOR /F “delims=*” %%i IN (‘getmac /v /fo csv ^| findstr ワイヤレス’) DO @SET MAC=%%i
ECHO %PCNAME% %MAC%>>z:\hogehoge.csv
NET USE Z: /delete
@ECHO “MACアドレスの登録が完了しました”
PAUSE
実行結果を複数行格納
@echo off
setlocal enabledelayedexpansion
set RESULT=
for /f "usebackq tokens=*" %%i in (`dir`) do (
set RESULT=!RESULT!^
%%i
)
echo !RESULT!
endlocal
for文の中で値を変化させたい場合はfor文全体を、「setlocal enabledelayedexpansion」と「endlocal」で挟む。
for文内で使用する変数は「%」ではなく「!」で囲む。
@echo off
setlocal enabledelayedexpansion
set sum=0
for /l %%n in (1,1,10) do (
set /a sum=!sum!+%%n
echo !sum!
)
endlocal