私のスクリプトは次のようになります。
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
)