BatchFile(最新のファイル、ディレクトリ移動)

・ディレクトリ移動
@ECHO OFF

REM 最新のディレクトリを一つ移動する。
REM %1:移動元ディレクトリ
REM %2:移動先ディレクトリ

FOR /F "delims=" %%A IN ('DIR /B /S /O-D "%1"') DO @(
ECHO D | XCOPY /E "%%A" "%2%%~nA"
RD /S /Q "%%A"
GOTO BREAK
)

:BREAK

・ファイル移動
@ECHO OFF

REM 最新のファイルを一つ移動する。
REM %1:移動元ディレクトリ
REM %2:移動先ディレクトリ

FOR /F "delims=" %%A IN ('DIR /B /S /O-D "%1"') DO @(
ECHO F | COPY "%%A" "%2"
DEL /Q "%%A"
GOTO BREAK
)
:BREAK

【メモ】
・XCOPY
/E ファイルが存在しなくてもディレクトリごとコピーする

・DIR
/B ファイル名のみを表示
/D ファイルを列で並べ替えた一覧を表示する。/W と同じ
/S 指定したディレクトリおよびそのサブディレクトリのすべてのファイルを表示する
/O ファイル名を並べ替えて表示する。
  N(名前のアルファベット順)
  E(拡張子のアルファベット順)
  G(グループをディレクトリから)
  S(サイズを小さいほうから)
  D(日時を古いほうから)
  ※-を付けると順番が逆になる

・パスの抽出
%~fA:%Aのフルパス。
%~dA:%Aのドライブ。
%~pA:%Aのパス。
%~nA:%Aのファイル名。
%~xA:%Aの拡張子。
%~sA:%Aの短いファイル名。
%~aA:%Aの属性。
%~tA:%Aの更新日付。
%~zA:%Aのサイズ。

・文字の抽出
文字数をNとする。
%A%:N文字
%A:~m%:m ~ Nの文字
%A:~m,n%:m ~ nの文字
%A:~m,-n%:m ~ N-nの文字
%A:~-m%:N-m ~ Nの文字
%A:~-m,n%:N-m ~ N-m+nの文字
%A:~-m,-n%:N-m ~ N-nの文字
%A:c1=c2%:c1をc2に置換。
最終更新:2014年04月03日 21:02