Warm tip: This article is reproduced from serverfault.com, please click

powershell-如何将目录从dir / subdir /*.*提取到dir /%zipname%/

(powershell - How to extract archives from dir/subdir/*.* to dir/%zipname%/)

发布于 2019-10-07 19:37:37

我有一堆要提取的档案。问题是,其中有很多,并且有很多信息需要走动。我想一次全部做完。与手动进行研究相比,可能需要花费更多的时间进行研究,但是研究更加有趣。

TL; DR:希望使用7-zip命令行帮助将多个存档提取到其自己的目录中。如果你觉得额外有帮助,Autohotkey,Powershell和批处理文件的答案也将是不错的选择。

Win10,最新更新及所有其他功能。我一直在使用7-zip,因此,如果有一个更好的提取器,这可能是一个有用的建议。我对编码有一点经验,因此我通常可以解析一个示例并将其应用到我的项目中,但是我无法独自提出代码。因此,我很喜欢使用cmdautohotkeypowershell批处理文件和其他一些文件,但是在执行任何操作之前,我需要一个示例。哈哈

因此,在我的研究中,我发现了 (7z x -o“ ... \ Stellaris \ mod \ Examples \”“ ... \ content \ 281990 \ *”) 对于cmd起作用,除了将所有内容提取到相同的位置dir,因为存档文件位于根存档目录中(我认为这就是原因;如果它们位于一个文件夹下,则应该可以像我想要的那样正常工作?)。认为你不能在path(?)中使用环境变量。不知道什么会使它在这里工作...

Powershell:我只是最近才开始修改它,所以我发现的一个脚本对我来说没有任何意义。从来没有发现有人为此使用AutoHotKey

最后,我在这里找到的**批处理文件*似乎最接近(通常我会对该线程进行评论,因为它显然仍然处于活动状态,但是我没有50个代表),但是我不确定如何修改它就我而言:


@回声关闭

设置“文件名=%〜1” #Where does the working dir path go?

SET dirName =%文件名:〜0,-4% #How/where would you put in wildcards?

7z x -o“%dirName%”“%filename%”


我不介意使用任何方法,尽管我可能更喜欢AHK我可能是那里最有经验的人。

如果你能做到这一点,哇,给我留下深刻的印象!我希望它具有足够的连贯性来理解(可能一开始不是吗?)。也许有点娱乐性?觉得我很有趣。让我知道我将来是否应该添加或删除任何内容。我知道上下文可能太多了,但是我宁愿拥有太多而不是不足,而且我永远不确定什么是相关的,什么是不相关的。我对这里的代码格式不满意,但是我不太理解帮助对空白的说明,并且我对Markdown还不够熟悉(我希望注释能够符合要求)。另外,老实说,我不确定这些标签。

编辑:在顶部添加了TL; DR,并且...

通过执行此操作的程序找到了答案我也将其发布在一个答案中:ExtractNow似乎有点过时了,最近一次更新是在17年,但它确实达到了我想要的目的。

Questioner
Gavril
Viewed
0
Gavril 2019-10-14 00:25:58

通过执行此操作的程序找到了答案。ExtractNow似乎有点过时,上一次更新是在'17,但它做了我想要的,只做了一些设置更改。