小编Lep*_*tor的帖子

批处理文件 - 需要替代7-zip - 无法移动

请参阅下面的更新答案

Windows批处理文件.

我非常喜欢7-Zip并且效果很好,但是像WinZip的移动和时间戳文件一样.但是,WinZip(命令行界面)对文件大小和存档中的文件数量有限制.

谷歌搜索我们确实看到有一个人,他确实采取了7-zip的代码并重新编译了代码以使用-m(移动)开关.但是,在我们的生产环境中使用7-zip开发人员以外的第三方感到不舒服.

另外,我见过 - http://alternativeto.net/software/7-zip/

我已编码:IF NOT ERRORLEVEL 1(在Zip进程之后)删除文件,但如果有多个相同的文件名结构,则这不安全.

以下是一些代码示例:7zip:

D:\scripts\7za -tzip -y a D\zips\20140116_someclient_%computername%@%location%.zip D:\logs\apache_log.2014-01-16* >nul >>%logfile%
IF NOT ERRORLEVEL 1 ECHO Y|DEL D:\logs\apache_log.2014-01-16*
Run Code Online (Sandbox Code Playgroud)

apache_log.2014-01-16可能是:

apache_log.2014-01-16.1
apache_log.2014-01-16.2
apache_log.2014-01-16.3
Run Code Online (Sandbox Code Playgroud)

等等

WinZip的

c:\progra~1\WinZip\Wzzip.exe -T -ex -m D\zips\20140116_someclient_%computername%@%location%.zip D:\logs\some_file.2014-01-16* >nul >>%logfile%
Run Code Online (Sandbox Code Playgroud)

我想从软件需求的角度来看,我想在7Zip中拥有WinZip的一些功能.我喜欢7Zip,因为它有能力使用大型档案.我喜欢PeaZip,而且我之前使用的是PowerArchiver.我遇到的问题是我正在使用Apache Tomcat for Windows,我们必须存档每小时超过200-300 MB的日志,并且需要保持服务器不受旧日志的影响.

希望这更有意义.

更新:

相信我已经回答了我自己的问题..

FOR /F %%F IN ('dir /B "D:\serverlogs\server.log.2014-01-19*"') DO (
D:\work\scripts\7za.exe –tzip –y a "D:\ziplogs\201401109_COMPANY_SERVERNAME@DATACENTER.ZIP" >> D:\WORK\SCRIPTS\LOGS\LOG_20140120.LOG && DEL "D:\serverlogs\%%F"
)
Run Code Online (Sandbox Code Playgroud)

这现在运作良好.

7zip batch-file winzip

4
推荐指数
1
解决办法
7428
查看次数

带服务停止/启动的通配符

我知道我们可以在VBS,PowerShell等中执行此操作.但是,我们不希望使用除了好的批处理脚本之外的其他语言来执行此操作.

已经想出以下几点:

TASKKILL /F /IM "tomcat*"
Run Code Online (Sandbox Code Playgroud)

这将强制终止/停止任何Tomcat的持久实例.此外,这将涵盖Tomcat6.exe,Tomcat6_1.exe,tomcat7.exe等.

我的问题是什么..我们知道我们可以做一个NET START Tomcat6,例如..是否可以:

NET START Tomcat*
Run Code Online (Sandbox Code Playgroud)

?是的,我完全知道如果你在服务器上有多个Tomcat实例,这会失败,因为你必须遍历实例列表.但是,我这样做的原因是因为,我有每月脚本我们必须运行,我试图使批处理脚本更具可移植性.

谢谢.

tomcat kill batch-file

3
推荐指数
1
解决办法
4180
查看次数

标签 统计

batch-file ×2

7zip ×1

kill ×1

tomcat ×1

winzip ×1