我在一家金融机构工作,从外部来源提取报告。我有一个非常基本的批处理文件,它检查任何zip文件的文件夹,将它们提取到不同的位置,并将zip文件移动到" old"提取后的文件夹。
"C:\Program Files\WinZip\WZUNZIP.EXE" -d -o -sXXXXXXXXX C:\SFTP\ReportingAnalytics\Accounting\*.zip \\servername\Share2\Reporting_Analytics\Accounting\
MOVE C:\SFTP\ReportingAnalytics\Accounting\*.zip C:\SFTP\ReportingAnalyticsOld\Accounting
在这一周,这很有效。问题发生在周末。这些报告每天都会发生......不幸的是,每天都有相同的文件名。因此,在本周,有人正在处理报告,没有问题。在周末,没有人报告并且他们被覆盖(星期六早上星期五的报告会在周日及周六的报告中被覆盖)。
提取时是否有一种简单的方法可以自动重命名这些文件?即AccountingReport1,AccountingReport2等......
非常感谢任何帮助。
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\one"
FOR %%a IN ("%sourcedir%\*.zip") DO (
ECHO("C:\Program Files\WinZip\WZUNZIP.EXE" -d -o -sXXXXXXXXX C:\SFTP\ReportingAnalytics\Accounting\%%a \\servername\Share2\Reporting_Analytics\Accounting\%%~na\
)
GOTO :EOF
您需要更改sourcedir
的设置以适合您的具体情况。
所需的WZUNZIP命令仅用于ECHO
用于测试目的。 在您确认命令正确无法后,将ECHO("...WZUNZIP
更改为"...WZUNZIP
以实际创建目录并解压缩文件。
你没有告诉我们档案中有多少文件/目录或者说明了他们的名字,你使用-d -o
意味着有一个完整的泥潭,因此这种方法是提取每个.zip
将文件发送到\\servername\S...s\Accounting