Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Automatisiertes Ändern eines Batch-Codes.

Frage Entwicklung Batch & Shell

Mitglied: SWuser

SWuser (Level 1) - Jetzt verbinden

16.03.2010, aktualisiert 11:27 Uhr, 3799 Aufrufe, 6 Kommentare

Hallo an die Community!

Ich habe ein Archivierungsprozess für dat-Dateien erstellt.
Für den Prozess wird automatisch ein Ordner mit dem Datum als Namen erzeugt (Form: 03-2010).

Die Daten in diesem Ordner werden dann archiviert.

Mein Problem ist nun, dass ich jeden ersten des Monats im Archvierungsprozess die Ordnernamen manuell ändern muss.
Kann man das auch irgendwie automatiseren? Am besten auch per Batch.

Hier mal das Archivierungs-Batch:

01.
@echo off &setlocal 
02.
:: die Dateiendung 
03.
set ext=*.dat 
04.
:: die Verzeichnisse 
05.
set folder_1=X:\Ordner\Ordner\Archiv\Bla1\03-2010 
06.
set folder_2=X:\Ordner\Ordner\Archiv\Bla2\03-2010 
07.
set folder_3=X:\Ordner\Ordner\Archiv\Bla3\03-2010 
08.
set folder_4 ... usw 
09.
 
10.
set nr=0 
11.
for /f "delims== tokens=1*" %%a in ('set folder_') do set "folder=%%b" &call :sub 
12.
 
13.
exit 
14.
 
15.
:sub 
16.
set /a nr+=1 
17.
pushd "%folder%" 
18.
:: Name kreieren 
19.
for /f "delims=. tokens=1-3" %%i in ("%date%") do set "name=blaarchiv_%%j-%%k.cab" 
20.
:: .ddf Datei erstellen 
21.
chcp 1252>nul 
22.
>directives.ddf echo .Option Explicit 
23.
>>directives.ddf echo .Set CabinetNameTemplate=%name% 
24.
>>directives.ddf echo .Set CompressionType=MSZIP 
25.
>>directives.ddf echo .Set UniqueFiles="OFF" 
26.
>>directives.ddf echo .Set Cabinet=on 
27.
>>directives.ddf echo .Set DiskDirectory1=Temp 
28.
for /f "delims=" %%i in ('dir /a-d /b "%ext%"') do echo "%%i">>directives.ddf 
29.
chcp 850>nul 
30.
:: makecab aufrufen 
31.
makecab /f directives.ddf 
32.
:: aufräumen 
33.
del setup.inf 
34.
del setup.rpt 
35.
del directives.ddf 
36.
move "Temp\%name%" ".\%name%" 
37.
rd Temp 
38.
popd 
39.
::goto :eof 
40.
 

Edit:
Es muss nicht im Archivierungsprozess selber sein, es kann auch ein neuer Prozess sein.
Mitglied: bastla
16.03.2010 um 11:57 Uhr
Hallo SWuser!

Wie Du zu den Datumsbestandteilen kommst, weißt Du ja schon (Zeile 19) - auf dieser Basis sollten sich die Variablen "folder_x" mit passenden Werten erstellen lassen (wobei ich ja nicht zuletzt wegen der besseren Sortierbarkeit anstelle von "MM-JJJJ" eher zur Schreibweise "JJJJ-MM" neigen würde) ...

Grüße
bastla
Bitte warten ..
Mitglied: SWuser
16.03.2010 um 12:52 Uhr
Hallo bastla!

Danke für deinen Tipp!

Habe es mal versuchsweise eingebaut. Aber irgendwie klapp es nicht.

Habe zwei Varianten ausprobiert:

01.
set folder_1=X:\Ordner\Ordner\Archiv\Bla1\%%j-%%k
(Ohne vorher irgendwelche Konstanten zu bestimmen.)

und

01.
set erstelldat=%date:.=-% 
02.
set targetdat=%erstelldat:~3% 
03.
... 
04.
set folder_1=X:\Ordner\Ordner\Archiv\Bla1\%targetdat%\

Hast du irgendwelche Tipps?
Ich habe auch nicht die größte Ahnung, habe diesen Batch-Code auch nur mit Mithilfe dieses Forums hinbekommen.

Beste Grüße
Felix
Bitte warten ..
Mitglied: Biber
16.03.2010 um 13:05 Uhr
Moin SWUser,

du kannst doch die Mimik der angesprochenen Zeile 19 auch schon weiter oben verwenden.
01.
.... 
02.
for /f "delims=. tokens=1-3" %%i in ("%date%") do ( 
03.
    REM statt set folder_1=X:\Ordner\Ordner\Archiv\Bla1\03-2010--> bzw 2010-03 
04.
     set "folder_1=X:\Ordner\Ordner\Archiv\Bla1\%%k-%j" 
05.
     set "folder_2=X:\Ordner\Ordner\Archiv\Bla1\%%k-%j" 
06.
     set "folder_3=X:\Ordner\Ordner\Archiv\Bla1\%%k-%j" 
07.
      REM usw 
08.
09.
... 
10.
set nr=0 
11.
...
Grüße
Biber
Bitte warten ..
Mitglied: SWuser
16.03.2010 um 13:21 Uhr
Hallo Biber,

Danke für deinen Hinweis!

Ich habe leider herade keine Zeit das auszuprobieren. Ich werde es spätestens morgen (vormittags) testen können und mich wieder melden.

Danke bis hierher.

Beste Grüße
Felix
Bitte warten ..
Mitglied: SWuser
17.03.2010 um 08:22 Uhr
Guten Morgen!

Ich habe den Code mal ausgetestet und passend umgebaut. Zwecks Überprüfung habe ich auch noch eine Pause am Ende eingebaut.
1. Wenn ich den Prozess nun ausführe, dann sagt er mir, dass er die Datei nicht finden kann:



[URL=http://img3.imageshack.us/i/archiverstellen.jpg/][IMG=http://img3.imageshack.us/img3/8609/archiverstellen.jpg][/IMG][/URL]

2. Was meinst du mit:
01.
REM statt set folder_1=X:\Ordner\Ordner\Archiv\Bla1\03-2010

Beste Grüße
Felix

Edit: irgendwie klappt das nicht mit dem Bild... aber über den Link kann man es ja auch sehen.
Bitte warten ..
Mitglied: SWuser
17.03.2010 um 08:57 Uhr
Zitat von SWuser:
Guten Morgen!

Ich habe den Code mal ausgetestet und passend umgebaut. Zwecks Überprüfung habe ich auch noch eine Pause am Ende
eingebaut.
1. Wenn ich den Prozess nun ausführe, dann sagt er mir, dass er die Datei nicht finden kann:



[URL=http://img3.imageshack.us/i/archiverstellen.jpg/][IMG=http://img3.imageshack.us/img3/8609/archiverstellen.jpg][/IMG][/URL]

2. Was meinst du mit:
01.
> REM statt set folder_1=X:\Ordner\Ordner\Archiv\Bla1\03-2010 
02.
> 

Beste Grüße
Felix

Edit: irgendwie klappt das nicht mit dem Bild... aber über den Link kann man es ja auch sehen.


Hat sich erledigt, war ein winziger Fehler im Code!
Es läuft jetzt!

Vielen Dank für den Hinweis!
Bitte warten ..
Ähnliche Inhalte
Windows 10
Automatisiert batch-Dateien erstellen
Frage von ScripterWindows 101 Kommentar

Hallo, bei Win 10 ist es möglich über Verknüpfungen im Startmenü mithilfe der Assistentin Cortana PROGRAMME per Sprachsteuerung zu ...

Batch & Shell
Wenn Prozess läuft kann Batch den Code nicht weiterverarbeiten?
gelöst Frage von spookypoofBatch & Shell11 Kommentare

Hallo, Ich hab ein Problem. Ich hab z.B. zwei verschiedene Menü's und im zweiten Menü starte ich eine Datei. ...

Batch & Shell
Notepad++ Plugin Manager automatisiert abschalten (per Batch?)
gelöst Frage von YauhunBatch & Shell3 Kommentare

Hallo zusammen. Vielleicht könnt ihr mir einen Hinweis geben, wie ich bereits bei der Installation von Notepad den Plugin ...

Batch & Shell
Dateiname über Batch ändern
gelöst Frage von c64b311ee9Batch & Shell6 Kommentare

Hallo liebe Community, folgendes Problem!: Ich habe einen Ordner mit 500 PDF Dateien. Diese sind nach folgendem Schema aufgebaut. ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 47 MinutenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 7 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 9 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 12 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...