获取压缩存档名称的一部分并将其附加到其中的文件中

时间:2018-06-12 09:21:41

标签: batch-file 7zip

我需要一些帮助! 我使用7个zip来使用批处理文件提取一些压缩档案。 基本上会发生什么,
一些客户将一些压缩的每日档案传输到FTP文件夹,
然后我们运行一个批处理文件,将档案提取到另一个文件夹,然后Qlik处理文件。

问题是,其中一个客户已经改变了文件名的格式(他们说他们不能改变它!)。
以前的文件名大小如下..

XXXXXXX_01012018.txt

现在这些名字只是

XXXXXXX.txt

所以现在文件名中缺少日期。

不幸的是,这现在导致了一个问题,因为通常客户同时转移多个档案(例如,他们将转移7天而不是每天进行), 这意味着当文件被提取到Qlik目录结构时,< 第二个存档将覆盖第一个,第三个将覆盖第二个等,因为文件名将是相同的。

我需要一种方法将日期附加到存档中的文件。日期已经在归档文件夹名称中,因此我需要从归档名称中取出日期并将其附加到归档中的文件名。

有谁知道我怎么能这样做呢? 低于我当前的批处理文件

for /R C:\FTP_FOLDER\Cust1\ %%f in (*.txt) do move "%%f" 
C:\FTP_FOLDER\Cust1\



@echo off

rem | Extract and Archive Telco Operators Files
rem | ==========================================
rem | rem | Version Control
rem | ==========================================
rem | August17 | Initial Version

rem | Set all of the following environment variables
rem | ==========================================
rem **Set 7-Zip Installation Var**
set zip="C:\7-Zip\"
rem **Set Cust1 Environment Vars**
set atFTP=C:\FTP_FOLDER\Cust1\
set atArc=C:\QlikView\SourceData\Cust1\Archive\
set atData=C:\QlikView\SourceData\Cust1\

rem | ==========================================


"%zip%"7z.exe e "%atFTP%BSC*.zip" -aoa -o"%atData%" -r

Move /Y C:\FTP_FOLDER\Cust1\*.zip C:\QlikView\SourceData\Cust1\Archive\

move /Y "%atFTP%*.*" "%atData%"


exit

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您使用qlikview报告,为什么不在开始时在Qlikview中添加文件名更改过程

因此,例如当Qlikview启动时,它将从文件夹中获取txt文件,然后再次将其作为txt导出日期,最后将信息加载到应用程序。

最后删除没有日期的txt文件。

Qlikview中的整个过程。这样更容易,你可以更好地控制文件管理。