Cygwin tar命令对应的Windows原生7za替代命令咨询
替换Cygwin Tar命令为7za的正确方案
别担心,我来帮你把这些Cygwin tar命令完美替换成Windows原生的7za命令,每个都给你讲清楚对应关系和注意点!
第一个命令的验证与补充
你第一次尝试的替换是完全正确的!不过可以根据需求加个小细节:
- 原Cygwin命令:
tar cvf FRT_RTAC_OtherLogs.tar --force-local FRT_*.log - 对应的7za命令:
7za a FRT_RTAC_OtherLogs.tar FRT_*.log
参数对应说明:
tar的c(创建归档)对应7za的a(添加文件到归档,归档不存在时自动创建)tar的v(显示详细操作过程):7za默认不会输出详细日志,如果需要和原命令一样看到每一步,加上-v参数即可:7za a -v FRT_RTAC_OtherLogs.tar FRT_*.logtar的f(指定归档文件名):7za中归档文件名直接跟在a命令后面,不需要额外参数--force-local:Windows下7za本来就只处理本地文件,这个参数可以直接省略
第二个命令的替换方案
原命令tar zcv --force-local --file=%DUMPFILE%.gz %CAPDIR%是创建一个gzip压缩的tar归档,对应的7za命令需要明确指定归档格式和压缩方式:
- 替换后的7za命令:
7za a -ttar -tgzip -v %DUMPFILE%.gz %CAPDIR%
参数对应说明:
tar的z(用gzip压缩)对应7za的-tgzip参数tar的c(创建归档)同样对应7za的a命令tar的v(详细输出)对应7za的-v参数--file=%DUMPFILE%.gz:直接把归档文件名放在命令里即可,和原变量用法一致%CAPDIR%:要压缩的目录,用法和原命令完全相同- 同样,
--force-local参数可以省略
额外注意事项
- 如果不需要看到详细操作过程,直接去掉所有
-v参数即可,7za会静默执行 - 如果文件名或路径包含空格,记得给路径加上双引号,比如:
7za a "FRT RTAC OtherLogs.tar" "FRT *.log" - 7za对通配符(比如
*.log)的支持和Cygwin tar一致,Windows命令行也能正确解析,不需要额外配置
内容的提问来源于stack exchange,提问作者Mayank
相关产品推荐
相关产品推荐

