从“发送到”批处理文件到“ .tar.gz”文件中快速执行“ tar -cf”命令

南爪

为Windows安装了GNU tar,以加快tar-ing文件的速度,因此,我不必费心打开两次7zip压缩为tar,然后gzip一个文件。

为了进一步加快处理速度,我尝试编写一个发送至批处理文件,如下所示:

tar -cf %1.tar.gz %1

该命令在终端中运行正常(当我在工作目录中打开该命令时),该命令类似于:

tar -cf myfile.tar.gz myfile.txt

但是,当我运行发送至批处理文件时,输入最终是:

tar -cf C:\path\to\myfile.txt.tar.gz C:\path\to\myfile.txt

我从tar收到此错误:

C:\path\to\my>tar -cf C:\path\to\my\myfile.txt.tar.gz C:\path\to\my\myfile.txt
tar: Cannot open C:\path\to\my\myfile.txt.tar.gz: Function not implemented
tar: Error is not recoverable: exiting now

我不太确定这是怎么回事,但我可以肯定这不是tar问题,而是路径和文件名造成的混淆。

我想知道是否有一种不错的,简单的方式使用批处理脚本来做到这一点(也许只是将文件名作为参数而不是完整路径),还是我需要做一些更详细的说明?

贝伦德

在我看来,tar无法接受所创建档案的完整路径。您应该首先将批处理文件修改为cd到所需的文件夹,例如

cd "%~dp1" 

然后使用

tar -cf "%~n1.tar.gz" "%~nx1"

此处使用引号来容纳包含空格的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章