0

次のようにする必要があるバッチファイルを作成しています。

  1. ファイルの変更日を 1 か所でチェックします。
  2. 変更日と現在の日付を比較します。
  3. 2 つの日付が同じ場合、ファイルをある場所にコピーします。
  4. 変更日が現在の日付と等しくない場合、ファイルが更新されていないことがエコーされます。

ここに私がこれまで持っているものがあります:

@echo off

set currentDate=%date:~-10%
SET filename="C:\users\ani\desktop\IMP\RetailEmp.txt"


FOR %%X IN (%filename%) DO SET filedatetime=%%~tX
pause
if %filedatetime:~0,10% == %currentDate% 
pause
(
ROBOCOPY C:\Users\ANI\Desktop\IMP  C:\downloads\%date:~-4,4%%date:~-10,2%%date:~-7,2%,RetailEmp.txt

pause

)
pause
if not %filedatetime:~0,10% == %currentDate%
(echo file not updated
pause
)
Exit /b 0

しかし、バッチ スクリプトは機能しません。私の推測では、if ステートメントをバイパスしているに違いありません。

4

1 に答える 1

0

開始(は、次の行と同じ行にある必要がありますif

if %filedatetime:~0,10% == %currentDate% 
pause
(
ROBOCOPY C:\Users\ANI\Desktop\IMP  C:\downloads\%date:~-4,4%%date:~-10,2%%date:~-7,2%,RetailEmp.txt
pause
)

次のようになります。

if %filedatetime:~0,10% == %currentDate% (
  pause
  ROBOCOPY C:\Users\ANI\Desktop\IMP  C:\downloads\%date:~-4,4%%date:~-10,2%%date:~-7,2%,RetailEmp.txt
  pause
)
于 2013-07-28T06:20:31.293 に答える