2016-06-21 6 views
0

最新のファイルをあるフォルダから別のフォルダにコピーしようとしました。しかし、以下のスクリプトを別のシナリオでテストしたところ、C:\ Source以外のサブフォルダにCC * .txtファイルが存在する場合はコピーされます。 しかし、私は以下のスクリプトで言及されているソースディレクトリ(C:\ Source)のみから最新のファイルをコピーしたかったのですが、同じ新しいファイルがフォルダ/サブフォルダに存在する場合は、提案する。サブフォルダではなく、特定のフォルダからファイルをコピーするバッチファイル

FOR /F %%I IN ('DIR "C:\Source\cc*.txt" /B /A:-D /T:W /O:D /S') DO SET "LATEST=%%~I" 
COPY "%LATEST%" "C:\Destination" 

PS:主な理由/Sのが、私はどのようなオプションは親切に、唯一の指定されたディレクトリC:\Sourceからファイルを選ぶ示唆するために使用する必要があることを確認していません。

for /f "tokens=*" %%A in ('dir /b /s /O:D "C:\Source\cc*.txt"') do set "latest=%%A" copy "%latest%" "C:\Destination"

答えて

0

を行う必要があります単純に(また、サブディレクトリを処理するためにdirを伝えます)/Sオプション削除:/Sスイッチなしdir /B以来

FOR /F %%I IN ('DIR "C:\Source\cc*.txt" /B /A:-D /T:W /O:D') DO SET "LATEST=%%~I" 
COPY "C:\Source\%LATEST%" "C:\Destination" 

を返します。純粋なファイル名のみを使用する場合は、元の場所をコピー元にもう一度含める必要があります任意の作業ディレクトリから作業するスクリプト。

0

はこれを試してみてください。


FOR /F "delims=|" %%I IN ('DIR "cc*.txt" /B /O:D') DO COPY %%I "C:\Destination"

の両方が

0

FOR /F %%I IN ('DIR cc*.txt /B /O:-D') DO COPY %%I "C:\Destination" & EXIT
超簡単:

関連する問題