7z错误无法打开<file> .tmp权限被拒绝

时间:2015-08-07 23:38:35

标签: unix 7zip autosys

我有一个使用7z -tzip -aoa的归档脚本,它在unix上运行并且工作正常。但是,当通过Autosys运行时,尝试将第二个文件存档到现有存档时总是会失败。错误是:

7-Zip 9.20版权所有(c)1999-2010 Igor Pavlov 2010-11-18 p7zip版本9.20(locale = C,Utf16 = off,HugeFiles = on,8个CPU)

扫描

更新档案 20150807.zip

错误: 7-Zip无法打开文件 20150807.zip.tmp 许可被拒绝

它没有告诉我它对该tmp文件的权限,所以我不知道在哪里看。我已将所有权限设置为我认为可能用于777的任何文件夹,但问题仍然存在。不使用Autosys时效果很好。

我在下面找到了评论,但它似乎只与Windows相关。我想知道如何在UNIX上完成这项工作。

我试图在网上搜索一段时间,但无法找到任何帮助,所以我在这里。 我的第一个问题是当我尝试使用上下文菜单压缩C://中的文件夹时(7-zip&gt;添加到&#34; xyz.zip&#34;),我收到错误:&#34; Access被拒绝。 7-zip无法打开文件&#34; xyz.zip.tmp&#34; 然而,我可以在7-zip文件夹中打开文件管理器(&#34; 7zFM&#34;),以管理员身份运行并将所述文件压缩为.zip。 它似乎是关于C://目录的安全问题,因为我似乎可以压缩其他文件和文件夹。 有什么帮助吗?

链接 贝壳 贝壳 2012-07-29 你猜对了。您可以1)以管理员身份运行7-Zip或2)将7-Zip文件管理器(工具 - >选项 - &gt;文件夹)中的工作目录设置为不受保护的目录(例如,清除其中的复选框)并使用&#34;添加到存档...&#34;菜单并在不受保护的目录中创建存档。

2 个答案:

答案 0 :(得分:1)

使用-w开关设置工作目录。

答案 1 :(得分:0)

7z 不使用当前目录(您通过 pwd 获得的目录)作为工作目录。它使用将要创建生成的存档所在的那个。

例如:

/tmp $ 7z a /folder.7z /folder

将忽略您在 /tmp 中的事实,并首先在 / 中创建一个 tmp 文件,然后将结果放入 / 无论您当前的文件夹是什么是

如果您无权在 / 中创建文件,但您有权更新已经存在的存档(非常有效的情况),您将得到您所得到的:

/tmp $ 7z a /folder.7z /folder

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.utf8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz (806E9),ASM,AES-NI)

Open archive: /folder.7z
--
Path = /folder.7z
Type = 7z
Physical Size = 150
Headers Size = 150
Solid = -
Blocks = 0

Scanning the drive:
1 folder, 2 files, 0 bytes

Updating archive: /folder.7z

Items to compress: 3


Error:
cannot open file
/folder.7z.tmp
Permission denied


System ERROR:
Unknown error -2147024883

此外,如果您在命令行中省略存档名称,它将使用您的源目录。 例如,当您这样做时:

7z a /folder

它将使用 / 作为工作目录 - 它将尝试在 / 中创建临时文件并将生成的存档也放在那里。

要解决这个问题,只需确保存档名称在您的命令行中,并且您对将要创建存档的文件夹具有文件创建权限(有时您有权更新存档本身,但无法创建dame 文件夹中的新文件)