【发布时间】:2017-05-01 15:17:15
【问题描述】:
我正在压缩一个文件并尝试通过读取原始文件并使用原始文件名重命名输出文件来重命名我的输出文件。目前我正在运行一个批处理文件,它将通过在存档目录中创建外壳并将文件复制到其中来压缩文件。我还在为该事件创建一个日志文件。我正在使用 7-Zip 命令行版本进行压缩。
echo Start Compression
7za a -t7z "c:\Archive_Directory\%time:~0,2%%time:~3,2%-%date:~-10,2%%date:~7,2%%date:~-4,4%.7z" "C:\File_To_Compress\*.xls" >"C:\Users\Compression_Logs\_%time:~0,2%%time:~3,2%-%date:~-10,2%%date:~7,2%%date:~-4,4%.log"
echo Finish Compression
timeout /t 30
批处理文件创建/压缩必要的文件并根据时间戳为所有文件提供相同的名称。只是希望我能弄清楚所有文件如何具有原始文件名。
我所拥有的示例输出:
原始文件名 - Source.xls
压缩文件 - 1030-05012017.7z
日志文件 - 1030-05012017.log
我想要什么:
压缩文件 - Source_1030-05012017.7z
日志文件 - Source_1030-05012017.log
【问题讨论】:
-
HELP FOR将提供一些有用的信息,尤其是关于参数扩展的信息。您的注意力将指向%~扩展,特别是%~n。