2
我有一个每日进程,可以从其他进程正在创建的文件中生成一些压缩文件。我需要创建一个每日日志文件,该日志文件指出所找到的每个zip文件的一个特定文件的内容的时间戳。批处理文件,用于解压缩文件并获取压缩文件内容的时间戳
我创建了如下的批处理脚本这似乎我的测试系统上昨日工作,但现在不是了今天,不知道为什么......
set VersionDirectory=C:\Test\VersionX\
set ResultOutputFile=C:\Test\LogFile.txt
for /f %%f in ('dir /b %VersionDirectory%\Installable\Packages\pattern*.zip') do (
mkdir %temp%\%%f\
unzip -extract -dir %VersionDirectory%\Installable\Packages\%%f %temp%\%%f\ > nul
for %%a in (%temp%\%%f\InstallScript.xml) do set InstallScriptXMLDate=%%~ta
rmdir /s /q %temp%\%%f\
echo %%f [package from %InstallScriptXMLDate%] >> %ResultOutputFile%
)
什么这个文件是应该做简短总结:
- 循环每一个图案*用C zip文件:\测试\ VersionX \目录
- 解压缩此文件以%TEMP%\ %%˚F目录(其中%% f是文件名)
- 获取%temp%\ %% f \ InstallScript.xml的时间戳并将其放入%InstallScriptXMLDate%变量中
- 删除%temp%\ %% f目录
- 回显文件名(%% f)和时间戳(%InstallScriptXMLDate%)记录到日志文件
就像现在的日志文件只包含文件名,然后是字符串“[包从]”字符串,但缺少实际日期戳
解压缩和删除zip文件的工作完美无缺,只是没有设置时间戳。
谢谢!通过删除for循环中的dir/b命令解决了我的问题,并改进了我的脚本! – Alex 2012-07-19 12:54:22