私のスクリプトは次のようになります。
cd <Directory>
set counter = 1
for /r %%f in (*) do (
<Do task>
echo Task completed for file<counter> >> C:\log
counter++
)
counter実際の値を使用する方法がわかりません。counterまたは%counter%、単に同じ文字列をエコーする場合。counterこの場合、行をどのように変更すればよいですか?
私のスクリプトは次のようになります。
cd <Directory>
set counter = 1
for /r %%f in (*) do (
<Do task>
echo Task completed for file<counter> >> C:\log
counter++
)
counter実際の値を使用する方法がわかりません。counterまたは%counter%、単に同じ文字列をエコーする場合。counterこの場合、行をどのように変更すればよいですか?
SET/A数式を評価する場合は、一緒に使用する必要があります。また、最初の行として入力して、最初に Delayed Expansion を有効にする必要がありますSETLOCAL ENABLEDELAYEDEXPANSION。ループ内の評価**FOR**は、最後の繰り返しが発生するまで行われません。ただし、反復ごとに Counter の値がインクリメントされるように、バッチ ファイルを変更しました。
SETLOCAL ENABLEDELAYEDEXPANSION
@echo off
set /a counter=1
for /r %%f in (*) do (
echo Task Completed for file !counter! >> c:\log
set /a counter=!counter!+1
)