Tar.exe无法从不同文件夹添加2个文件 [英] Tar.exe can't add 2 files from different folders
问题描述
我正在尝试使用tar.exe将两个不同的文件添加到压缩存档中。 文件夹结构如下:
- 根文件夹
- 子目录1
- File1.txt
- 子目录2
- 子目录3
- File2.txt
- 子目录3
- 子目录4
- File3.txt
- File4.txt
- 子目录1
我想用相对路径将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屋!