批量移动多个不同扩展名的文件

问题描述 投票:0回答:1

我打算将各种类型的通配符文件名移到一个文件夹中。

我尝试了以下方法,但都不奏效。

移动D:Users/name/Desktop*.pptx。.xls。.pdf D:Users\name\Desktop\documents

移动 D:Users/name/Desktop*.{pptx,xls,pdf}。D:Users/name/Desktop/documents

D:Users/name/Desktop*.pptx *.xls *.pdf D:Users/name/Desktop/documents (文件)

任何帮助将被感激。

windows batch-file wildcard
1个回答
1
投票

你还有一个选项 ROBOCOPY. 您可以使用 /MOV 选项,在复制文件后将其删除。 一个好处是 ROBOCOPY 将接受多个通配符。

robocopy "D:\Users\name\Desktop" "D:\Users\name\Desktop\documents" *.pptx *.pdf /MOV

1
投票

move 不支持一次使用多个通配符。你也可以

  • 调用 move 三次,每次延长一次。
  move D:\Users\name\Desktop\*.pptx D:\Users\name\Desktop\documents
  move D:\Users\name\Desktop\*.xls  D:\Users\name\Desktop\documents
  move D:\Users\name\Desktop\*.pdf  D:\Users\name\Desktop\documents
  • 或者,让它在一条线上。
  for %X in (pptx xls pdf) do @move D:\users\name\desktop\*.%X D:\users\name\desktop\documents


[ 编辑 ] 正如@夸父的评论所指出的,以上是在命令行中使用的正确语法。当 for 在批处理文件中使用,而不是使用 %%X 变量名必须是双倍的,比如 for %%X in ....

-1
投票

逗号是可以的,但你需要通过路径变量或显式提供目标的完整路径。

© www.soinside.com 2019 - 2024. All rights reserved.