Tar.exe无法从不同文件夹添加2个文件 [英] Tar.exe can't add 2 files from different folders

查看:0
本文介绍了Tar.exe无法从不同文件夹添加2个文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用tar.exe将两个不同的文件添加到压缩存档中。 文件夹结构如下:

  • 根文件夹
    • 子目录1
      • File1.txt
    • 子目录2
      • 子目录3
        • File2.txt
    • 子目录4
      • File3.txt
      • File4.txt

我想用相对路径将File1、File2和子目录4的所有文件添加到存档中。

我使用的命令是当当前目录为RootFolder时: tar.exe -cf archive.zip -C SubDirectory1 File1.txt -C SubDirectory2SubDirectory3 File2.txt SubDirectory4

执行后出现以下错误:tar.exe: could not chdir to 'SubDirectory2SubDirectory3'
我找不到类似的问题,或者-C标志的文档也不够好,我无法理解这个问题。 有人知道它为什么不起作用吗?

推荐答案

当您cd进入SubDirectory1时,cd将成为命令中的当前目录,因此为了cd进入SubDirectory3Subdirectory4,您需要使SubDirectory1相对于SubDirectory1而不是原始目录。然后当cd进入SubDirectory4时,将需要相对于SubDirectory3

鉴于上述情况,并将RootFolder作为您的当前目录,请尝试执行以下操作:

%SystemRoot%System32	ar.exe -cf "archive.zip" -C ".SubDirectory1" "File1.txt" -C "..SubDirectory2SubDirectory3" "File2.txt" -C "....SubDirectory4" "File3.txt" "File4.txt"

如果您想要SubDirectory4的全部内容,则相应地更改最后一个全局:

%SystemRoot%System32	ar.exe -cf "archive.zip" -C ".SubDirectory1" "File1.txt" -C "..SubDirectory2SubDirectory3" "File2.txt" -C "....SubDirectory4" "*"

我在这里使用了双引号作为最佳实践,尽管对于您所使用的提供的文件名和目录名,如果愿意的话,可以省略它们。我还使用了默认Windows 10版本tar.exe的完整路径和扩展,如果您不关心健壮的代码,并且希望赌注%Path%%PATHEXT%变量没有损坏,那么可以随意将%SystemRoot%System32 ar.exe更改为tar

这篇关于Tar.exe无法从不同文件夹添加2个文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆