如果我有以下邮政编码:
my.zip
|- folder
| `- to-update.txt
`- some-other-file.txt
Run Code Online (Sandbox Code Playgroud)
和文件夹结构:
working-directory
`- folder
`- to-update.txt
Run Code Online (Sandbox Code Playgroud)
我希望将文件to-update.txt从我的工作目录复制到 zip 中。为此,我将使用:
my.zip
|- folder
| `- to-update.txt
`- some-other-file.txt
Run Code Online (Sandbox Code Playgroud)
但是,如果my.zip的副本to-update.txt较新,则这将不起作用并压缩输出(带有-v):
zip 诊断:
folder/最新
zip 诊断:folder/to-update.txt最新
如何让它覆盖我的文件系统/工作目录中的任何文件(并仍然添加新文件),即使它们具有较旧的时间戳?
与文件同步选项不同,我不想删除丢失的文件,因此some-other-file.txt应该保持不变。
我需要安排一个命令行来压缩几个文件夹的内容。是否有任何基于命令行的免费实用程序可以处理多卷?
(7Zip 不合格,-v 参数还没实现)
编辑:如果按照帮助文件中的描述使用,7Zip 确实可以使用 -v 参数,而不是根据 .exe 的帮助输出。
EDIT2:仔细检查,发生了一些奇怪的事情,这就是我收到“未实现”错误消息的原因:(在具有美国语言环境的 Windows 2008 Server x64 上):
@ECHO OFF
SET MYFILENAME=Backup-IIs-%date:~-4,4%-%date:~-10,2%-%date:~-7,2%.7z
ECHO %MYFILENAME%
"c:\program files\7-zip\7z" a "c:\backup\%MYFILENAME%" c:\inetpub\*.* -r -v49m
Run Code Online (Sandbox Code Playgroud)
结果:系统错误:未实现。
将其更改为(注意文件名中的点而不是破折号):
@ECHO OFF
SET MYFILENAME=Backup.IIs-%date:~-4,4%-%date:~-10,2%-%date:~-7,2%.7z
ECHO %MYFILENAME%
"c:\program files\7-zip\7z" a "c:\backup\%MYFILENAME%" c:\inetpub\*.* -r -v49m
Run Code Online (Sandbox Code Playgroud)
7Zip 很高兴......有人可以解释一下吗?
将文件的 zip(或几个大 zip)而不是将文件作为文件夹刻录到 CD/DVD 是否更可靠、更快、更持久?
只是想一想,与一个或几个大的 zip 文件相比,是否无法有效地记录 1000 个小文件。
此外,即使在刻录程序验证光盘后,我也会使用 Beyond Compare 将文件与光盘上的文件进行比较。总是二进制比较相同,但我听到驱动器口吃大概是因为每次头部只稍微移动以寻找下一个文件,这让我认为最好制作一个或多个 zip 并将它们复制到本地进行比较。或者是将单个文件刻录到光盘上的可读性不强,导致磁头断断续续。
没有任何问题,我的光盘刻录是可靠的,只是考虑了更多的效率和寿命,光盘在我的 18x DVD 刻录机上的刻录和验证速度足够快。
我主要使用 ImgBurn。以前也用过Nero。
我把整张光盘都关着烧了,定型了。不确定哪种写入模式,但会认为刻录程序制作的临时缓存映像中的光盘一次将是最可靠的。
在 fedora-13 上,我尝试使用:
unzip -j [nameof.zip]
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有保持原始存档的文件夹结构。我真的需要维护这种结构,因为存档是我所有正在转换为 mp3 的 m4a 的备份。如果我只是按原样转换它,那么我将只有一个包含 mp3 的大型目录,但它们不会在各自的“艺术家”文件夹中。
我至少有 40 个存档文件,每个 100 MB,其中还包含许多.jpg文件。
如何.jpg轻松地从这些档案中删除文件?
更确切地说,我正在寻找一种直接从存档文件中删除所有这些字段的方法,而无需提取它(存档的提取不是一个选项,因为存档是以一种我无法完成的方式完成的重复)
每当我下载一个.zip文件或创建一个压缩文件夹时,我的电脑都会将它变成一个 Winzip 文件,这不好,因为我不想支付他们的费用来获得完整版本(我拥有的版本是我在我有这个需要它工作的 .zip 文件)。
基本上,我只能拥有常规.zip文件而不需要它们是 Winzip。
我正在尝试压缩一个大文件,但它失败了,因为我的 C:\ 驱动器没有足够的空间。如何更改它以使用另一个驱动器?
上面关于它的问题 - 非常抱歉,我一直看到答案,但是,虽然非常明确,但我无法将它们应用于我的终端。
我有一个压缩文件夹,我无法在存档中打开它:我收到以下错误:
Archive: /home/elansa/Music/Music.zip
Zip file size: 2011856896 bytes, number of entries: 4693
warning [/home/elansa/Music/Music.zip]: end-of-central-directory record claims this
is disk 176 but that the central directory starts on disk 20153; this is a
contradiction. Attempting to process anyway.
error [/home/elansa/Music/Music.zip]: missing 3025939027 bytes in zipfile
(attempting to process anyway)
error [/home/elansa/Music/Music.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you …Run Code Online (Sandbox Code Playgroud) 我有一个文件夹,其中包含要搜索的压缩和解压缩日志文件。
我可以搜索未压缩的
grep -r "my-search-string" /path/to/folder
Run Code Online (Sandbox Code Playgroud)
并搜索压缩文件
find /path/to/folder -name "*.gz" -exec zcat "{}" + | grep "my-search-string"
Run Code Online (Sandbox Code Playgroud)
是否有一个单行我可以用来搜索所有压缩和解压缩的文件/path/to/folder?
谢谢,马克斯
我一直在尝试创建一个脚本,该脚本压缩带有时间戳的目录并将其移动到同一服务器上的另一个位置,但我似乎无法让 TESTDATE 显示在 zip 文件上,从而导致文件名称为 .zip。
#!/bin/sh
# date
TESTDATE="date +%b-%d-%y"
# dirs to backups
DIRS="/volume1/NetBackup"
# Save zip file elsewhere on the server
DEST="/volume1/NetBackup/Backup"
# set to "no" keep old zip file and add new file
DELETE_OLD_ZIP_FILES="no"
#Path to binary files
BASENAME=/usr/bin/basename
ZIP=/usr/syno/bin/zip
for d in $DIRS
do
echo $DIRS
zipfile="${DEST}/$(${TESTDATE} ${d} ${BASENAME}).zip"
echo -n "Creating $zipfile..."
# create zip file
${ZIP} -r $zipfile $d &>/dev/null && echo "Done!"
done
Run Code Online (Sandbox Code Playgroud)