7Zipからコマンドラインツール7za.exeをダウンロードしましたが、次のスクリプトを実行する必要があります。
echo off
cls
set Zip ="C:\7za.exe"
set filename="%date%.backup.Zip"
set pathtobackup="C:\MyDocs"
%Zip% -t7z %filename% %pathtobackup%\*.doc
私の意図は、MyDocsフォルダー(サブフォルダーを含む)内のすべてのドキュメントファイルをバックアップし、それらを古いZipファイルに入れることです。その後、robocopyを使用してこのファイルをサーバーに移動しますが、現時点では、ファイルをZipするのに問題があります。
誰か手がかりがありますか?とにかく、ファイルのパスワードを追加することもできますか?
構文を使用する
7z a -tzip archive.Zip -r src\*.cpp src\*.h
だからあなたの場合、それは
7z a -t7z %filename% -r %pathtobackup%\*.doc
出典: http://sevenzip.sourceforge.jp/chm/cmdline/switches/recurse.htm
7zをインストールすると、この作業例を7日より古いファイルの削除スクリプトで使用できます。このスクリプトの機能は、指定された「入力」フォルダーから「出力」フォルダーにファイルを圧縮することです。フォルダをZipするには、/ dを追加するか、フォルダ内のすべてのファイルをZipするために、最後の「%% X」を変更する必要があります。
REM This is a batch script to Zip files in folder or add /d to Zip folders.
REM This script is using 7z to Zip files, installation is required - "[http://www.7-Zip.org/a/7z938-x64.msi][1]"
REM Remember to point 'do' to 7z installed path 7z.exe
SET input1=D:\Backup\SampleFolder
SET input2=D:\Backup\SampleFolder2
SET output1=C:\ZipBackups\SampleFolder
SET output2=C:\ZipBackups\SampleFolder2
CD /d %input1%
for %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%output1%\%%X.Zip" "%%X"
FORFILES /P "%input1%" /M *.* /D -8 /C "cmd /c del @file"
CD /d %input2%
for %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%output2%\%%X.Zip" "%%X"
FORFILES /P "%input2%" /M *.* /D -8 /C "cmd /c del @file"
私はこれに対する簡単な解決策を見つけました。 1つのフォルダーに圧縮するサブフォルダーが複数あるとします。その場合は、1.7Zipソフトウェアをダウンロードしてインストールします。次に、7z.exeを、サブフォルダーを圧縮する特定のフォルダーにコピーします。
メモ帳で、以下をコピーして貼り付け、.batファイルとして保存します。 :
cd "your_Folder_path" for /d %%f in (*) do (7z a -t7z %%f.7z "your_Folder_path\%%f")
ダブルクリックしてファイルを実行します。
元のフォルダを削除する場合は、閉じ中括弧の前にこれを追加してください。
rd /s /q "your_Folder_path\%%f"