답변:
당신이 할 수있는 일은 사용할 작은 배치 파일을 만드는 것입니다. RAR , Mac 용 셰어웨어 명령 줄 유틸리티 (무료 rar 명령 줄 유틸리티를 찾지 못했지만 RAR은 시험 버전으로 제공됨).
RAR을 터미널에 설치하려면 간단히 복사하십시오. rar
과 unrar
너에게 bin
폴더.
해당 사이트에 액세스하려면 bin
디렉토리에서 Terminal.app를 열고 다음을 입력하십시오.
open /bin
RAR의 Windows 버전은 "변환" zip
에 보관하다 rar
도구에 보관하지만, 맥 버전은이 기능을 가지고 있지 않습니다. 솔루션은 각 파일을 개별 폴더로 압축 한 다음 해당 폴더의 RAR 콘텐츠로 바로 압축 해제하는 것입니다.
#!/bin/bash
# shell script that will convert zip files into rar files
# Require RAR for Mac os x to be placed in bin folder
# Working directory, use ~ for home folder shortcut :)
WorkingDirectory=~/test
# Temp directory that will be used for zip files manipulation
# Will prevent loop from raring other folders ;)
TempDirectory="${WorkingDirectory}"/zipToRarTemp
# Target Directory is where you want the rar files to go after the process
TargetDirectory="${WorkingDirectory}"
# Let's create the directories
mkdir "${TempDirectory}"
mkdir "${TargetDirectory}"
# Will loop into WorkingDirectory and unzip each .zip files
for file in "${WorkingDirectory}"/*.zip
do
# Get file name
# See http://stackoverflow.com/questions/965053/extract-filename-and-extension-in-bash
# 1st answer
filename=$(basename "$file")
extension="${filename##*.}"
filename="${filename%.*}"
# Temp folder in the loop
tempFolderToRar="${TempDirectory}"/"${filename}"
# Create folders to rar later
mkdir "${tempFolderToRar}"
# unzip -d folder/extract/to fileToExtract.zip
unzip -d "${TempDirectory}"/"${filename}" "${file}"
# rar all the files in tempFolderToRar into the target
rar a "${TargetDirectory}"/"${filename}".rar "${tempFolderToRar}"
done
# Optionnaly, delete temp directory if different from target
if [ "${TempDirectory}" != "${TargetDirectory}" ]
then
rm -r "${TempDirectory}"
fi
이것을 확장자가없는 파일에 저장하십시오. 첫 번째 변수에 좋은 경로를 설정해야하며 terminal.app에서 잘 실행해야합니다.
글쎄, 그것은 나를 위해 일했다.
참고 :이 스크립트는 완벽하지 않습니다. 어쩌면 더 좋은 방법이 있을지 모르지만 작동합니다;) 첫 번째 쉘 스크립트 중 하나 였고 매개 변수가 더 좋거나 파이썬과 함께 사용하는 것이 좋을 것입니다.)
희망이 도움이됩니다.
rm -r ${TempDirectory}
, mkdir ${TempDirectory}
, 및 mkdir ${TargetDirectory}
큰 따옴표로 묶어야합니다. 아마도 다음과 같은 것을 사용해야합니다. mktemp -td
또는 mkdir /tmp/$(uuidgen)
임시 디렉토리를 작성합니다. rar 아카이브의 파일은 다음 위치로 추출됩니다. $PWD/$TempDirectory
.
다음은 GabLeRoux가 게시 한 간단한 스크립트입니다. rar
에서 다운로드 할 수 있습니다. http://www.rarlab.com/download.htm .
#!/bin/bash
for f in ~/Desktop/*.zip; do
d=/tmp/$(uuidgen)
unzip "$f" -d $d
cd "$d"
rm -rf __MACOSX
~/bin/rar a "${f%zip}rar" *
rm -r "$d"
done
cd ..
어딘가에 누락되었습니다 :-)
~/Desktop/*.zip
테스트 용.
( )
또는 같이 oldpdw="$PWD"
... cd "$oldpwd"
.