0
ファイル名とタイムスタンプを含むファイルを解析するバッチスクリプトがあります。バッチスクリプト - FOR/Fで無効な構文
:MAIN
SETLOCAL EnableDelayedExpansion
FOR /F "tokens=1,2,4 skip=7" %%A in (C:\list_of_psa_files.txt) DO
@echo %%A %%B %%C
exit
ファイルC:私はそれがメッセージ無効な構文で失敗している私のスクリプトを実行していたときの\ list_of_psa_files.txtは、しかし、その中に次のデータ
Volume in drive C is Windows XP 6.6
Volume Serial Number is AC12-84AA
Directory of C:\Test
10/05/2011 03:17 PM <DIR> .
10/05/2011 03:17 PM <DIR> ..
10/05/2011 01:21 PM 4,393 1-16332-1008261.psa
10/05/2011 01:21 PM 4,863 1-16332-1011698.psa
10/05/2011 01:21 PM 4,793 1-16332-1023151.psa
10/05/2011 01:21 PM 4,916 1-16332-1035695.psa
10/05/2011 01:21 PM 4,524 1-16332-1037029.psa
10/05/2011 01:21 PM 4,235 1-16332-1049340.psa
10/05/2011 01:21 PM 3,135 1-16332-1049926.psa
10/05/2011 01:21 PM 4,657 1-16332-1054756.psa
を持っています。誰かが私がどこに間違っているのか理解してもらえますか?
私がやろうとしているのは、古いファイルの新しいファイルに拡張子を付けずに日付、時刻、ファイル名を取得することだけです。
ありがとう、ありがとうございます。
サンダーズ。
これは間違いありません。ありがとうPaxdiablo! – user982201
しかし、私の出力を別のファイルにリダイレクトしようとすると、ただ1行しか得られません。このように - 10/05/2011 01:10 24,971そのコードはSETLOCAL EnableDelayedExpansionです。 :MAIN FOR/F "tokens = 1,2,4 skip = 5" %% A in(C:\ list_of_psa_files) .txt)DO(@echo %% A %% B %% C> C:\ list_of_file_ts.txt) exit – user982201
これは別の質問@ user982201ですが、とにかくお手伝いします。あなたはすべての反復のために 'blah blah> out.txt'をやっています。言い換えれば、各反復_ファイルは、最後のものだけを取得することを意味します。それを上書きするのではなく、 '>'の代わりに '' ''を使い、各反復がそのデータを上書きするようにします。 – paxdiablo