私は痕跡のテストを実行しています。 1つのファイル(traces/trace.txt)があり、最後のテストのトレースが保存されています。このファイルの古いバージョンを保存するスクリプトを作成したいと思います。.batスクリプトを使用してファイルのコピーを自動化する
は、私がこのフォルダにトレースしてファイルをコピーし、連結のためのスクリプト「trace_archive.bat」を書いている
を「AllTracesを」ファイルバージョンのフォルダを-created:ここ
は、私がやったものです名に日付と時刻は:
-
:
set source=c:\some_path\traces\trace.txt
set destination=c:\somepath\AllTraces\
xcopy %source% %destination% /y
cd %destination%
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set datetime=%%I
set datetime=%datetime:~0,8%-%datetime:~8,6%
ren "trace.txt" "trace_%datetime%.txt"
ので、このフォルダに私はこのような名前のファイルを持っています
など
はアイデアがコピーを格納することです
をフォルダ "LastTraceを" -created trace_20161117-105713.txt 0
trace_20161117-095910.txt
最後のバージョンのトレースをそこに置き、トレース/ trace.txtをそれと比較します。違いがある場合は、新しいテストが実行されたので、trace_archive.txtを起動してAllTracesにコピーし、LastTraceのtrace.txtをtrace/trace.txtの現在のバージョンに置き換えます。 だから、私はスクリプト「TraceTrigger.bat」を作成しました:
set noDiff = "FC: no differences encountered"
FOR /F "tokens=* USEBACKQ" %%F IN (`fc /b C:\some_path\AllTraces\LastTrace\trace.txt c:\some_path\traces\trace.txt`)
DO (
SET result=%%F
)
if NOT %noDiff% == %result% (
c:some_path\scripts\trace_archive.bat
del /f c:sope_path\AllTraces\LastTrace\trace.txt
xcopy c:\Users\akomedat\AppData\Local\Temp\.FLT\traces\trace.txt c:Users\akomedat\AllTraces\LastTrace\
)
予想通り、このスクリプトは動作しません。確かに、それはtrace_archive.batを実行せず、ファイルをAllTracesにコピーしません。ここに私が得ている出力はあります:
C:\some_path\scripts>TraceTrigger.bat
C:\some_path\scripts>set noDiff = "FC: no differences encountered"
C:\some_path\scripts>FOR /F "tokens=* USEBACKQ" %F IN (`fc /b C:\some_path\AllTraces\LastTrace\trace.txt c:\some_path\tra
ces\trace.txt`) DO (SET result=%F)
C:\some_path\scripts>(SET result=Comparing files C:\some_path\ALLTRACE
S\LASTTRACE\trace.txt and C:\some_path\TRACES\TRACE
.TXT)
C:\some_path\scripts>(SET result=FC: C:\some_path\ALLTRACES\LASTTRACE\
trace.txt longer than C:\some_path\TRACE.TXT
)
C:\some_path\ALLTRACES\LASTTRACE\trace.txt was unexpected at this time.
C:\some_path\scripts>if NOT == FC: C:\some_path\ALLTRACES\LASTTRACE\t
race.txt longer than C:\some_path\TRACES\TRACE.TXT
(
TraceTrigger.batを修正するには?