批量移动特定模式的文件到另一个文件夹[关闭]


0

我正在尝试编写一个Windows批处理文件,其中包含用于将文件名从一个文件夹移动到另一个文件夹以及其他文件夹移动文件的命令。

例如: vision.xls应该转到特定~\vision文件夹。任何帮助表示赞赏。

Answers:


0

将批处理特定模式的文件移动到另一个文件夹

我正在尝试编写一个Windows批处理文件,其中包含用于将文件名从一个文件夹移动到另一个文件夹以及其他文件夹移动文件的命令。

例如: vision.xls应该转到特定~\vision文件夹。

以下示例应该像您解释需要一样工作。只需插入源目录和复制文件夹的路径,也可以输入文件模式字符串。我测试并确认它的工作方式与您所描述的一样正常。

一个例子是复制后删除另一个没有复制。如果您希望将文件复制到新文件夹,然后从旧文件夹中删除,那么您将需要使用WITH DELETE

像往常一样,您应该测试这个以确认它是否适合您的特定需求,然后针对任何关键文件运行以防万一。

示例BATCH SCRIPT NO DELETE

@ECHO ON
SET SourceDir=C:\Path\Source
SET CopyDir=C:\Path\Vision
SET FilePatterName=*vision*.xls

FOR %%A IN ("%SourceDir%\%FilePatterName%") DO ECHO F | XCOPY /Y /F "%%~A" "%CopyDir%\"
GOTO EOF

示例BATCH SCRIPT WITH DELETE

@ECHO ON
SET SourceDir=C:\Path\Source
SET CopyDir=C:\Path\Vision
SET FilePatterName=*vision*.xls

FOR %%A IN ("%SourceDir%\%FilePatterName%") DO (
    ECHO F | XCOPY /Y /F "%%~A" "%CopyDir%\"
    DEL /Q /F "%%~A"
)
GOTO EOF

感谢回复。这是复制一切。我希望它只复制包含视觉文件名的文件。我看到你已经设置了FilePatterName = * vision * .xls但没有在for循环中使用。
Jyeta Nagpal 2016年

@JyetaNagpal对此我很抱歉,我用%FilePatternName%循环取代了循环当我在我身边测试一些东西的时候。我已经解决了这个问题并对此感到抱歉。我已经修复了这两个例子,所以让我知道它是怎么回事。我对此完全疏忽,在将其保存到答案中之前,我应该仔细检查一下这个逻辑。
Pimp Juice IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.