バッチスクリプトを実行するには、ソースフォルダを使用し、すべてのファイルをすべてのサブフォルダから再帰的に独自のzipファイルに圧縮し、zipファイルを指定の保存先に保存します。ここでバッチスクリプトで複数のファイルを複数のzipファイルに圧縮する
ちょうどそれソースフォルダのジッパーを取り、先にzipファイルを保存しワーキング・バリアントである:
if /I %ziptyp%=="zip"
:私は以下の部分を変更する必要があり、この1のために
@echo off
set year=%date:~-4,4%
set month=%date:~-10,2%
set day=%date:~-7,2%
set hour=%time:~-11,2%
set hour=%hour: =0%
set min=%time:~-8,2%
set zipfilename=%~n1.%year%_%month%_%day%_%hour%_%min%
set destination=%~dp1
set source="%~1\*"
set destpath="%~2"
set destname="%~3"
set ziptyp="%~4"
set dest= "%destpath%\%destname%_%year%_%month%_%day%_%hour%_%min%.%ziptyp%"
REM "%destination%Backups\%zipfilename%.%desttyp%"
IF [%1]==[/?] GOTO BLANK
IF [%1]==[] GOTO BLANK
IF [%1]==[/h] GOTO BLANK
IF [%1]==[?] GOTO BLANK
set AppExePath="%ProgramFiles(x86)%\7-Zip\7z.exe"
if not exist %AppExePath% set AppExePath="%ProgramFiles%\7-Zip\7z.exe"
if not exist %AppExePath% goto notInstalled
echo Backing up %source% to %dest%
if /I %ziptyp%=="zip" (
%AppExePath% a -rtzip %dest% %source%)
if /I %ziptyp%=="7z" (
%AppExePath% a -rt7z %dest% %source%)
echo %source% backed up to %dest% is complete!
goto end
:BLANK
goto end
:notInstalled
echo Can not find 7-Zip
:end
そして /I%ziptyp%== "7Z"
場合は、私は、次の方法などを試してみました:
(
cd %source%
FORFILES %source% /M *.* /C "%AppExePath% a -rtzip "%%~nG.zip" ".\%%G\*"")
または
FOR /R %source% %%G in (.) do (
Pushd %%G
%AppExePath% a -rtzip "%%~nG.zip" ".\%%G\*"
Popd)
または
for /R %%a in (%source%) do (zip -r -p "%%~na.zip" ".\%%a\*")
誰もがこの作業を取得する方法についてのアイデアを持っていますか?事前に
おかげで、
TheVagabond
'/ D'オプションを' cd'コマンドラインに追加して、ドライブを変更する必要があります。/cd "コマンドラインを削除し、' for'ループを以下のように変更してください: '/ R" %% 1 in %% i in(*)do' ...純粋なファイル名を得るには '%%〜ループ内の '%% i'の代わりに' nxi'を使用しています... – aschipfl
Damnit私はいつもこのスイッチがありません!思い出してくれてありがとう! – geisterfurz007