0
ネストされたループ内からファイルの日付を変更するのに問題があります。BATCHスクリプト:ネストされたループ内のファイルの変更日を取得できません。
私はこのバッチスクリプトを実行しています:ここで
@ECHO OFF
SETLOCAL EnableDelayedExpansion
net use S: \\devfs\edcsrc\epoletto\campusanyware
SET CLIENTS= DEMO
FOR %%a in (%CLIENTS%) DO (
S:
CD AD
FOR %%B in (*.cbl) DO (
set file=%%B
echo !file!
for %%c in (!file!) do (echo %%~ta))
)
pause
net use S: /delete /Y
ECHO.
は私の出力です:
The command completed successfully.
ad1.cbl
ECHO is off.
ad2.cbl
ECHO is off.
ad3.cbl
ECHO is off.
Press any key to continue . . .
(私のファイル名のすべてが正しいですが、スクリプトがループする第三に入るとき(!file!)do(echo %%〜ta)))の%% cのために、私のファイルのために変更された日付/時刻を取得できません。コンセプトの証明として
、私は、コマンドラインからディレクトリ内からこの同じロジックを試してみました:
for %B in (*.cbl) DO (for %a in (%B) do echo %~ta)
と(初期コマンドを含む)して、そのコマンドからの私の出力:
V:\>for %B in (*.cbl) DO (for %a in (%B) do echo %~ta)
V:\>(for %a in (ad1.cbl) do echo %~ta)
V:\>echo 05/02/2017 11:32 AM
05/02/2017 11:32 AM
V:\>(for %a in (ad2.cbl) do echo %~ta)
V:\>echo 04/18/2017 02:04 PM
04/18/2017 02:04 PM
V:\>(for %a in (ad3.cbl) do echo %~ta)
V:\>echo 04/27/2017 11:46 AM
04/27/2017 11:46 AM
私はなぜ私のスクリプトの中からこれらの日付を得ることができないのか混乱しています。私の最終的な目標は、各ファイルの日付をチェックし、その日付に依存する別のコマンドを実行することです。今私はエコーを使って日付を取得できることを確認しようとしています。どんな提案も感謝しています!
ありがとうございました!