Yanıtlar:
Aşağıdaki betiği kullanın ve .7z
dosyalarınızın bulunduğu dizinden çalıştırın :
#!/bin/bash
TMPDIR=tempdir_$$
for x in `ls *.7z`; do
mkdir $TMPDIR
cd $TMPDIR
cp ../$x .
p7zip -d $x
zip -r ../${x%.7z}.zip *
cd ..
rm -rf $TMPDIR
done
Bu, .7z
dosyalarınızı olduğu yerde bırakır .zip
ve aynı ada sahip dosyalar oluşturur .
Komut .7z
dosyaları ayıklamadan önce dosyaları geçici dizine kopyalar, çünkü normalde dosyaları açtıktan sonra silinirler.
Senaryoyu olabildiğince basit tuttum, böylece nasıl çalıştığını kolayca anlayabilirsin.
Komut dosyası yalnızca .7z
adlarında boşluk veya diğer özel karakterleri olmayan dosyalarla çalışır .
Ayrıca arepack
, atool araç takımının bir parçası olan aracı da kullanabilirsiniz . Genellikle bir yum install atool
veya apt-get install atool
. Bu mümkün olduğunda, basitçe şunu yapabilirsiniz:
$ arepack -e -F zip *.7z
Bu, tüm .7z dosyalarını .zip dosyaları olarak dönüştürür. Yine de * .7z dosyalarını silmeniz gerekir, ancak bu şekilde yapılabilir:
$ rm -f *.7z
Options:
-e, --each execute command above for each file specified
-F, --format=EXT override archive format (see below)
-O, --format-option=OPT give specific options to the archiver
-D, --subdir always create subdirectory when extracting
-f, --force allow overwriting of local files
-q, --quiet decrease verbosity level by one
-v, --verbose increase verbosity level by one
-V, --verbosity=LEVEL specify verbosity (0, 1 or 2)
-p, --page send output through pager
-0, --null filenames from standard in are null-byte separated
-E, --explain explain what is being done by atool
-S, --simulate simulation mode - no filesystem changes are made
-o, --option=KEY=VALUE override a configuration option
--config=FILE load configuration defaults from file
Archive format (for --format) may be specified either as a
file extension ("tar.gz") or as "tar+gzip".