Verwenden Sie 7z, um jedes Unterverzeichnis in einer separaten Datei zu sichern

752
Kevin Baker

Meine Dateistruktur ist:

c:\csdata\folder1 c:\csdata\folder2 c:\csdata\folder3 etc 

Ich versuche, 7z zu verwenden, um alle Ordner in csdataeinem eigenen Archiv in einem temporären Ordner (C: \ butemp) zu sichern.

Hier 'was ich bis jetzt habe:

For /D %%i in (C:\csdata\*.*) DO 7za a "%%i.7z" "%%i" 

Das obige funktioniert, aber es erstellt die 7z-Datei im csdataOrdner, da %%ies dem vollständigen Pfad entspricht.

1

1 Antwort auf die Frage

1
wmz

forgibt Ihnen die Möglichkeit, verschiedene Teile aus der Schleifenvariablen (entnommen aus help for) zu extrahieren (und zu kombinieren ):

% ~ nI - erweitert% I nur um einen Dateinamen
% ~ xI - erweitert% I nur um eine Dateierweiterung
(abgeschnitten)

The modifiers can be combined to get compound results:  %~dpI - expands %I to a drive letter and path only %~nxI - expands %I to a file name and extension only (truncated) 

Du könntest also gebrauchen 7za a "C:\butemp\%%~nxi.7z" "%%i"

Führen Sie help forweitere Optionen aus

Super .. danke für die Hilfe und hat perfekt funktioniert! Kevin Baker vor 10 Jahren 0