簡體   English   中英

如何在Windows中使用通配符復制文件而不附加?

[英]How do I copy a file using a wildcard in Windows without appending?

我有一個excel文件,我每天從供應商FTP站點下載。 每天文件名都會更改為包含日期,供應商會在文件末尾添加“actual”或“estimate”。

例:
F_02262014_actual.xlsx
F_02262014_estimate.xlsx
等等

由於這些細微的變化,我使用通配符將文件復制到另一個目錄中的一致名稱。

例:
copy \\ Source \\ F_02262014 * \\ Target \\ CurrentFile.xlsx

我的問題是,每當我在復制命令中使用通配符時,Windows都會假設我將多個文件附加到一個文件中。 這會導致文件損壞(由於某種原因刪除了所有內容)。

是否有命令或一系列命令將匹配文件模式的第一個文件復制到所需的文件名?

您無法以您要求的方式修改復制命令的行為。 不要做通配符拷貝,試試這個:

IF EXIST "\Source\F_02262014_actual.xlsx" (copy \Source\F_02262014_actual.xlsx \Target\CurrentFile.xlsx) ELSE (copy \Source\F_02262014_estimate.xlsx \Target\CurrentFile.xlsx)
for %%f in ("\Source\F_02262014*") do copy /y "%%~ff" "\Target\CurrentFile.xlsx"

寫入包含在批處理文件中。 如果這將從命令行執行,則將所有%%替換為%

我無法重現您報告的問題。

您是說清空了源文件,還是目標是空的?

我將/b開關添加到COPY

copy /B \Source\F_02262014* \Target\CurrentFile.xlsx

......為我工作!

暫無
暫無

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

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