【发布时间】:2018-02-05 19:43:19
【问题描述】:
我有一个包含某些目录列表的文本文件,我想将 *.xlsx 文件从它们复制到另一个目录。
这就是文本文件 (list.txt) 的排列方式:
PT_NAK01, PT_NAK04, PT_NAK05, PT_JAR03
到目前为止我所拥有的:
@echo off
set main_folder="\\internal.company.com\project folder\"
set my_folder="C:\_M__\files"
for /f "tokens=*" %%i in (list.txt) DO (
xcopy "%main_folder%\%%i" "%my_folder%"
)
所以我要查看的文件夹是 \\internal.company.com\project folder\PT_NAK01 等。
我不知道如何将特定的扩展名*.xlsx 传递给这个命令。
注意:我没有故意将/S 与xcopy 一起使用,因为我不想要子目录中的文件。
P.S.powershell 或 cygwin 中的解决方案也适用于我。
【问题讨论】:
-
你试过了吗?
xcopy "%main_folder%\%%i\*.xlsx" "%my_folder%" -
也许可以试试
xcopy "%main_folder%\%%i\"*.xlsx "%my_folder%"。现在*.xlsx没有被引用,并且应该扩展(但我不再使用它来确定;-))。祝你好运。 -
@Masoud 它应该像这样工作。但问题出在你的 for 循环和逗号分隔的列表中。打开echo,你会在cmd上看到输出。它将整个列表作为一个文件夹。
-
@MatSnow 你是对的。我用回车分隔名称,shellter 的评论对我有用。谢谢。无论如何,如果你发布一个答案,我会接受它,这个帖子将被标记为已回答。
标签: powershell cygwin cmd cygwin xcopy