2016-08-05 21 views
2

Ich versuche SQL Server-Backup (.bak) Dateien mit WinRAR Befehlszeilenbefehl zu komprimieren. Hier ist der Befehl, den ich verwenden:Winrar Befehlszeilen komprimieren bestimmte Dateien mit Datum in Namen auf aktuelles Datum abhängig

def fileType = "*.bak" 

"cmd /c \"${rarCmd}\" a ${rarName} ${parameters} ${sourceDir} ${fileType}".execute() 

ich diese Dateien in meinem Ordner haben:

Basket_backup_2014_07_30_010007.bak 
Basket_backup_2016_07_31_010007.bak 
Basket_backup_2016_08_05_010006.bak 
Basket_backup_2016_08_05_010007.bak 

Ich möchte nur die Dateien komprimieren, die heute erstellt werden. Also, wie sollte ich die fileType Variable ändern, um Dateien zu komprimieren, die 2016_08_05 in ihren Namen enthalten?

Antwort

1

starten WinRAR und klicken Sie in Menü Hilfe auf Hilfethemen Menüpunkt . Auf der Registerkarte Inhalt offene Listenelement Kommandozeilenmodus und klicken Sie zuerst auf Befehlszeilensyntax und Sie werden auf geöffnet Hilfeseite:

WinRAR <Befehl>-<switch1>-<switchN> <Archiv> < Dateien ... > < @listfiles ... > < path_to_extract \ >

Nun wollen wir diese Linie mit Ihrem Code Zeile vergleichen:

"${rarCmd}" a ${rarName} ${parameters} ${sourceDir} ${fileType} 

Es ist offensichtlich schon der Fehler im Code nach dem Befehl angeben, die Schalter zuerst die Archivdateinamen und dann anstatt zuerst die wechselt und als nächstes der Name der Archivdatei.

Und zwischen ${sourceDir} und ${fileType} sollte kein Leerzeichen stehen, sondern ein Backslash-Zeichen.

dann in Inhalte öffnen Liste der Unterliste Switches und klicken Sie auf alphabetische Liste schaltet. Erstellen Sie Ihre parameters mit dieser Liste beim Lesen von oben nach unten. Die interessantesten Schalter für Sie am ehesten

-cfg- -ep1 -ibck -inul -m5 -r- -tl -tn23h -y -- 

-tn23h bedeutet Datum der letzten Änderung der Datei innerhalb der letzten 23 Stunden (Dateizeit neuer als aktuelle Zeit minus 23 Stunden). Sie können auch -tn1d für die Datei verwenden, die innerhalb von 1 Tag zuletzt geändert wurde.

Bei Konsolen-Version Rar.exe statt GUI-Version WinRAR.exe die Textdatei Rar.txt in Programm mit Dateien-Ordner von WinRAR, da dies das Handbuch für die Konsolen-Version ist. Es gibt einige Schalter, die sich zwischen der Konsolen- und der GUI-Version unterscheiden.

+0

'-ta ' machte den Trick für mich. Vielen Dank. – ma3stro

0

könnten Sie tun:

def fileType = "*_${new Date().format('yyyy_MM_dd')}_*.bak"