バッチファイル-2つの最新ファイルを1つのフォルダーから別のフォルダーにコピーする


0

バッチファイルを書くのは初めてで、1つのフォルダーから2つの最新ファイルを取得して別のフォルダーにコピーすることはできません。毎日自動的に作成される新しいフォルダーがあり、毎日手動で移動するのではなく、自動的に反対の場所に移動するようにします。
私は最新のフォルダに移動することができましたが、2番目のフォルダを取得しようとすると、運がありませんでした。アドバイスをいただければ幸いです


これらのディレクトリを接続するシンボリックリンクを作成して、優先フォルダに自動的に保存できます。
ビスワプリヨ

または、それらを作成している機能を使用して、それらを正しい場所に自動的に作成できますか?
HackSlash

回答:


0
  • ファイルを後方に並べ替える Dir /B /O-D /A-D
  • ファイルに番号を付けます findstr /n
  • 数値が以下の場合Xnewest-移動

@Echo off
Set "Xnewest=2"
For /F "tokens=1* delims=:" %%A in (
  'Dir /B /A-D /O-D ^| Findstr /N "^"'
) Do If %%A Leq %Xnewest% echo Move "%%B" "X:\Path\to\dest\"

出力が正常に見える場合、最後の行のエコーを削除します。

サンプル出力:

> dir /A-D/O-D
 Directory of A:\
07/21/2017  23:19               315 SU_1232190.cmd
07/21/2017  14:58               778 SO_45225802.cmd
07/19/2017  10:51               158 PassMinMax.cmd
07/19/2017  00:50                37 WhoStartedMe.cmd
07/18/2017  01:32             1.222 SO_45137227.cmd
               5 File(s)          2.510 bytes
               0 Dir(s)   1.049.776.128 bytes free
> SU_1232190.cmd
Move "SU_1232190.cmd" "X:\Past\to\dest\"
Move "SO_45225802.cmd" "X:\Past\to\dest\"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.