指定した日付の後にファイルをコピーしたくない場合は、誰かが私に教えてもらえますか? など。私が日付10-MAY-2017 & 11-MAY-2017を指定し、フォルダに10 & 11月2017のファイルがある場合、10-MAY-2017ファイルのみをコピーしたい場合。何か方法はありますか?当面の作業のためにXCOPYコマンドファイルをコピーする日付オプション
0
A
答えて
0
、robocopy
はそれを行うための最も簡単な方法です:
robocopy D:\Source D:\Destination *.* /S /MINAGE:20170510
スイッチ/MINAGE
の名前にもかかわらず、ではないが、作成最終更新日時がみなされています。あなたはここで、xcopy
を使う、という場合は
次の手順を行いxcopy
に基づいたスクリプトは次のとおりです。彼らは上の変更されているので
- は、コピーしてはいけないファイルのリストを作成します指定された日付以降。これは
xcopy /L /F /D:
が使用されます:/L
は、完全に解決された送信元と宛先のパスを出力するように/F
が定義していますが、コピーしないことを意味し、/D:
は最後の変更日を定義します。 findstr
を使用して、利用可能なすべてのファイル(xcopy /L /F
)のリストから上記のすべてのファイルを除外します。- プレーンディレクトリツリー(
xcopy /T
)をコピーします。 - フィルタリングされたファイルリストを参照し、すべての単一ファイルを個別に
copy
でコピーします。
これはコードです:/ D
@echo off
setlocal EnableExtensions DisableDelayedExpansion
rem // Define constants here:
set "SOURCE=D:\Source" & rem // (source directory)
set "DESTIN=D:\Destination" & rem // (target directory)
set "PATTERN=*.*" & rem // (file pattern)
set "COPYDATE=05-11-2017" & rem /* (last modification date; only files are copied
rem which are modified earlier; check format!) */
set "TEMPFILE=%TEMP%\%~n0_%RANDOM%.tmp" & rem // (list of source files not to copy)
set "COPYLIST=%TEMP%\%~n0_%RANDOM%.lst" & rem // (full list of files to copy)
rem // List files modified on or after given date:
> "%TEMPFILE%" (
for /F "tokens=1 delims=>" %%F in ('
xcopy /L /I /F /D:%COPYDATE% "%SOURCE%\%PATTERN%" "%DESTIN%" ^| find ":"
') do (
set "FILE=%%F"
rem /* Double every `\` as `findstr` uses such as escape character;
rem then append ` -> ` which is used by `xcopy /F` as separator: */
setlocal EnableDelayedExpansion
(echo(!FILE:\=\\!^>)
endlocal
)
)
rem /* List files modified before given date
rem (actually the temporary `%COPYLIST%` file is not really necessary,
rem but it is quite convenient for understanding what is going on; instead
rem the below `for /F` loop could parse the output of this command line): */
xcopy /L /I /F "%SOURCE%\%PATTERN%" "%DESTIN%" | find ":"^
| findstr /V /B /L /I /G:"%TEMPFILE%" > "%COPYLIST%"
rem // Prepare directory tree as `copy` (below) cannot create directories:
xcopy /I /T "%SOURCE%\%PATTERN%" "%DESTIN%" > nul
rem // Copy files from list:
for /F "usebackq tokens=1* delims=>" %%E in ("%COPYLIST%") do (
set "LEFT=%%E" & set "RIGHT=%%F"
setlocal EnableDelayedExpansion
ECHO copy /Y "!LEFT:~,-2!" "!RIGHT:~1!"
endlocal
)
rem // Clean up temporary files:
del "%TEMPFILE%" "%COPYLIST%"
endlocal
exit /B
+0
RobCopyコマンドをお寄せいただきありがとうございます。しかし、ファイル9,10&11があれば、私は10日目にコピーしたいです。 10両方。 –
+0
特定の日付のファイルのみをコピーしたいのですか?これはあなたの質問が言うことではありません... – aschipfl
0
:MM-DD-YYYYのコピーファイルは、指定した日付以降に変更しました。日付が指定されていない場合は、ソースの日付/時刻が宛先の時刻よりも新しいファイルのみをコピーします。
例:XCOPY/D:MM-DD-YYY
関連する問題
- 1. バッチをxcopyでファイルにコピーする
- 2. XCOPY/d - 日付だけでなく日付もサポートしていますか?
- 3. SQL日付オプション
- 4. xcopyで* .extensionで複数のファイルをコピー
- 5. xcopyを使用した並列コピー
- 6. のXcopy Xcopyを
- 7. xcopyを使用して新しいファイルをコピーする方法
- 8. xcopyを使用してサブフォルダをサブフォルダにコピーする方法は?
- 9. MYSQL日付コピー&更新+ 14日
- 10. Rails - 日がオプションの日付を格納する
- 11. Excel VBA日付エラー付きデータのコピー
- 12. 翌日の日付のフォルダをコピーする
- 13. 現在の日付と変更日のデータベースをコピーするバッチスクリプト?
- 14. 条件付きで行の日付をコピーする
- 15. YouTrackの日付フィールドの値をコピー
- 16. コマンドファイルをプログラムで作成/実行する
- 17. 隠しフォルダと隠しファイルをコピーするXCOPYに連絡する
- 18. xcopyもMSBuild CopyTaskも実際にoutfileファイルをコピーしません
- 19. コピーされたファイル数のXCOPY確認を非表示
- 20. Xcopyにパラメータがありません。ファイルをコピーしません。
- 21. コピーSUMIF正確な日付+ 1D式
- 22. 週を選択するオプション/日付ピッカーを提供
- 23. 日付スタンプを持つディレクトリをコピーするには
- 24. Visual Studio 2010:CopyDirectoryまたはxcopyを使用して全ディレクトリをコピーする
- 25. 件名と指定された日付範囲をExcelにコピーするメールのSentOn日付を取得する
- 26. 日付フィールドをdatetimeにコピーする最も良い方法は?
- 27. Excel -Macro-日付値に基づいてデータをコピー&ペーストする
- 28. 日付(タイミング)に応じてJavaScriptでファイルをコピーする
- 29. クルーズコントロール.net:リモートサーバーにファイルをコピーするためにxcopyが機能しない
- 30. XCOPY名
は、ドキュメントを読んで(コマンドプロンプトに 'XCOPY /'と入力?)、その後、あなたは見つけるでしょう! ['robocopy'](http://ss64.com/nt/robocopy.html)に切り替えることを検討してください... – aschipfl
' xcopy'を主張するなら、次のようにすることができます: 'xcopy/L/D: ... "source" "destination"> "tempfile.txt" '(リストファイルは日付以降に変更されます)、' xcopy/L "source" "destination" | findstr/V/X/L /G:"tempfile.txt ">" copylist.txt "(日付の前にリストファイルが変更されている)、次に' xcopy/T "source" "destination" '(ディレクトリを準備する) ( '[for/F'](http://ss64.com/nt/for_f.html)を参照してください)... – aschipfl
申し訳ありませんがうまくいきませんでした。誰かが解決策を提供することができます –