簡體   English   中英

Windows批處理腳本復制文件上次修改

[英]Windows batch script copy file last modified

我正在嘗試編寫一個快速批處理腳本,以查看一個文件的上次修改日期,並將其與其他幾個文件的上次修改日期進行比較,如果它大於其他上次修改的日期,它將文件復制到這些目錄中。 這是我到目前為止的內容:

@echo off
for %%a in ([srcFile]) do set lastmodSrc=%%~ta
echo lastmodSrc
for %%a in ([dstFile1]) do set lastmodDst1=%%~ta
for %%a in ([dstFile2]) do set lastmodDst2=%%~ta
for %%a in ([dstFile3]) do set lastmodDst3=%%~ta
for %%a in ([dstFile4]) do set lastmodDst4=%%~ta

if lastmodSrc GTR lastmodDst1 xcopy [srcFile] [dstDir1] /-y
if lastmodSrc GTR lastmodDst2 xcopy [srcFile] [dstDir2] /-y
if lastmodSrc GTR lastmodDst3 xcopy [srcFile] [dstDir3] /-y
if lastmodSrc GTR lastmodDst4 xcopy [srcFile] [dstDir4] /-y

pause

方括號是完整的路徑名。 現在它正在做的是將lastmodSrc和lastmodDst保存為字符串(至少看起來是這樣),因此實際上並沒有檢查mod日期。 我對Windows中的批處理腳本非常不滿意,認為這里有人可以提供幫助。 提前致謝!

另一種可能更簡單的方法(假設我了解目標)將是在xcopy上使用/d選項。 如果指定了日期(無日期),則僅在源較新時才復制文件:

xcopy /d srcfile dstfile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM