2016-12-20 1 views
-1

私はプログラミング時に新人です。 バッチスクリプトを作成して、日付に基づいてある場所から別の場所にファイルを移動しました。 すべてのファイルを、現在の日付より3日遅い変更日のファイルが必要です。移動したファイルを新しいテキスト文書に記録したいと思います。 ファイルは移動できますが、移動したファイルは記録できません。私が使用し コマンドは、何が必要バッチスクリプトコマンド

forfiles /p C:\Users\Desktop\batchtest\ /s /m . /d -3 /c "cmd /c move @FILE \"C:\Users\Desktop\nov"" 

である上記command.Couldで移動したファイルは、誰かがこの上で私を助けて示してテキストファイルを作成するのですか? これは、仮定した日付に基づいてファイルを単に削除するのと同じではありません。

+0

あなたが提供したコードは、あなたがレイアウトした要件と一致しません。パラメータを明確にレイアウトして、質問を修正/更新してください。 – Compo

+0

私の要件は、ある場所から別の場所にファイルを移動する必要があります。ここでの条件は、私は3日以上経過したファイルを移動する必要があります。 – Alagu

+0

私の要件は、ある場所から別の場所にファイルを移動する必要があります。ここでの基準は、3日より古いファイルを移動する必要があります。たとえば、20decが現在の日付の場合、ソースパスは19 、18dec他のすべてのファイルは、宛先パスに移動する必要があります。また、このプロセス中に移動されるファイルは、別のテキストファイルに書き留めておく必要があります。毎日このバッチファイルを実行する必要があります。ここで正しいコードを教えてください。 – Alagu

答えて

0

あなたはそうのように、ファイルへのすべてのコマンドの出力をリダイレクトすることができます: forfiles /p C:\Users\\Desktop\batchtest\ /s /m . /d -3 /c "cmd /c move @FILE \"C:\Users\Desktop\nov"">log.txt

お知らせ "> log.txtという"。これにより、エラーのない出力はすべて、指定されたファイルにリダイレクトされます。それがなければそれを作成します。エラーをリダイレクトする場合は、末尾に2>log.txt >log.txtを置きます。 Source

+0

log.txtファイルが作成されているが、ここに私のための2の問題がある1)それは 1ファイルが移動しました。私が必要とするものは、移動されたファイルの名前です。 2)毎日このコードを実行して、ログファイルを毎日作成して上書きしないようにする必要があります。新しいログファイルを作成する必要があります.Kindly help – Alagu

+0

@Alagu特にforfilesコマンドを使用すると、移動したファイルを表示しないので、最初の問題を解決できません。しかし、2番目の問題については、 'log.txt'を' log_%date:〜10,4% - %date:〜6,2% - %date:〜4,2%.txt'に置き換えてください。それはあなたのファイル名の日付を使用します。 –

+0

ありがとうございます。しかし、もし私がコマンドの実行中に転送されるファイルを書き留める必要があるならば、私は何をしなければなりませんか?forfilesを使うことができない場合は、他に何ができるでしょうか? – Alagu