Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Ordner zusammenfassen

Frage Entwicklung Batch & Shell

Mitglied: Krebs62

Krebs62 (Level 1) - Jetzt verbinden

16.01.2012 um 11:29 Uhr, 2896 Aufrufe, 25 Kommentare

Hallo,

ich hole von einem Laufwerk Textdateien und
schiebe die auf ein anderes Laufwerk.
Es wird dann ein Verzeichnis mit Tagesdatum angelegt
und die Dateien da rein kopiert.

Jetzt soll nach einem Monat diese Verzeichnisse
zu einem Monatsverzeichnis zusammen gefasst
werden. Ist das Jahr rum soll ein Jahresverzeichnis
erstellt werde, wo alle Monatsverzeichnisse
rein kopiert werden sollen.

Wenn es möglich ist sollen die nicht mehr benötigten
Verzeichnisse gelöscht werden.

Ich habe ein kleines Script geschrieben.
Es werden aber nur die Verzeichisse mit Tagesdatum
angelegt.

Weis jemand wie ich das machen muss?



:: Verzeichniss sichern

set datum=%Date%
set tag=%Datum:~0,2%
set mon=%Datum:~3,2%
set jahr=%Datum:~6,4%

set "quelle=C:\test"
set "ziel=d:\test\test1\%mon%-%tag%-%jahr%\*.*"

xcopy "%quelle%" "%ziel%" /D:%mon%-%tag%-%jahr%

:: Leeren des Verzeichnisses
del /q "%quelle%"\*.*


Gruss Krebs62
Mitglied: Connor1980
16.01.2012 um 12:43 Uhr
Hi,

monatlich ein script starten, dass die Dateien des letzten Monats in ein Archiv fasst.
jährlich ein script starten, dass die Dateien der letzten 12 Monate in ein Archiv fasst.
Wo ist das Problem?

Grüße


P.S.: code bitte wg. besserer Lesbarkeit entsprechend formatieren
Bitte warten ..
Mitglied: Biber
16.01.2012 um 13:41 Uhr
[OT]

Na hömma, Connor1980,
Zitat von Connor1980:
monatlich ein script starten, dass die Dateien des letzten Monats in ein Archiv fasst.
jährlich ein script starten, dass die Dateien der letzten 12 Monate in ein Archiv fasst.
Wo ist das Problem?
Siehst du gar nicht die immensen Vereinfachungspotentiale durch Automatisierung von bis zu 13 Doppelklicks auf Desktoplinks?

Da liessen sich doch -auf 400 Jahre gerechnet - mehrere Minuten der sonst unwiderruflich verplemperten Lebensrestlaufzeit einsparen.
Zum Beispiel hättest du da mehr Zeit für ein paar zusätzliche Werbepausen bei "Bauer sucht Sau" oder "GZSZ Folge 147665" oder was immer in 400 Jahren en vogue ist.

Andererseits....

...schon in 3-4 Jahren sollten die Rechner das alleine können, wenn du einfach die richtigen gestures für die MonthAggAppz oder YearAggAppz machst....

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: Connor1980
17.01.2012 um 14:32 Uhr
HI Biber,

Zitat von Biber:
[OT]

Na hömma, Connor1980,
Siehst du gar nicht die immensen Vereinfachungspotentiale durch Automatisierung von bis zu 13 Doppelklicks auf Desktoplinks?
äh wa? schon Mal was von geplanten Tasks gehört?

wollts ja auch nicht zu schwer machen, kann man ja auch alles in ein script packen, aber für komplexe scripte sind andere zuständig
[/OT]
Grüße
Bitte warten ..
Mitglied: pieh-ejdsch
17.01.2012 um 19:01 Uhr
moin Krebs,

Jetzt soll nach einem Monat diese Verzeichnisse zu einem Monatsverzeichnis zusammen gefasst werden.
Sollen nun diese Verzeichnisse Verschobne werden oder nur deren Inhalt ins Monatsverzeichnis?

xcopy "%quelle%" "%ziel%" /D:%mon%-%tag%-%jahr%
Ich hätt ja genomm:
xcopy "%quelle%" "%ziel%" /D:%Mon%-%tag%-%Nicht%

Weis jemand wie ich das machen muss?
Ja.

Wenn nur der Inhalt in die Monate soll etwa so:
01.
@echo off &setlocal 
02.
 
03.
set "TT=%date:~-10,2%" 
04.
set "MM=%date:~-7,2%" 
05.
set "JJ=%date:~-4%" 
06.
:: Quelle und (ziel)Pfad anpassen 
07.
set Quelle="D:\Test\*.*" 
08.
 
09.
set "Pfad=D:\Arbeit\" 
10.
 
11.
set "Ziel=%MM%-%TT%-%JJ%" 
12.
 
13.
if not exist "%Pfad%%ziel%\" ( 
14.
	xcopy %Quelle% "%Pfad%%ziel%\" |findstr /b /c:"0 Datei(en) k" && echo Heute nichts zu Kopieren! || echo TagesOrdner %Ziel% angelegt. && del /q %Quelle% 
15.
) else echo Tagesordner schon vorhanden! 
16.
echo( 
17.
 
18.
:alleJahrewieder 
19.
set "alleJahrewieder=" 
20.
for /f "tokens=1,2* delims=-" %%i in (' dir /b/ad "%Pfad%" ^|findstr /r "[0-1][0-9]-[0-9-]*$" ') do ( 
21.
	if %%j lss 32 if %MM% neq %%i xcopy "%Pfad%%%i-%%j-%%k" "%pfad%%%i-%%k\%%%i-%%j-%%k\" /y >nul && rd /s /q "%Pfad%%%i-%%j-%%k" && echo Aus %%i-%%j-%%k in MonatsOrdner %%i gelegt. 
22.
	if %%j gtr 2000 if %JJ% gtr %%j ( 
23.
		rem Jahr 
24.
		xcopy "%Pfad%%%i-%%j" "%pfad%%%j\%%i-%%j\" >nul && rd /s /q "%pfad%%%i-%%j" && echo %%i-%%j in JahresOrdner %%j gelegt. 
25.
		if exist "%Pfad%12-??-????" set "alleJahrewieder=goto :alleJahrewieder" 
26.
)	) 
27.
 
28.
%alleJahrewieder% 
29.
ping -n 6 localhost >nul
Das Datum von Hinten aufgelöst ist weniger Fehleranfällig.
xcopy legt ja schön die Ornder selbst an - und ohne zu fragen wenn der Backslash angefügt wird.

komplexe scripte
PS. eher Klein

[Edit]
in Zeile 14: laut späterer Anforderung im xCopy den Paramter /D:%ziel% entfernt und ein Anschliesendes del /q %Quelle%, um die Quelle zu leeren, gesponsort.
Zeile 21: %%%i-%%j-%%k\ in den ZielPfad mitgegeben
Zeile 22: aus 2011 ein 2000 gedingst
Zeile 25: %pfad% spendiert. thanks icsAT
sollte als Ordnerformat TT-MM-JJ gelten mus die Variable Ziel angepasst werden und Zeile 21: so lauten
01.
	if %%j lss 32 if %MM% neq %%j xcopy "%Pfad%%%i-%%j-%%k" "%pfad%%%j-%%k\%%%i-%%j-%%k\" /y >nul && rd /s /q "%Pfad%%%i-%%j-%%k" && echo Aus %%i-%%j-%%k in MonatsOrdner %%j gelegt.
[/Edit]


Gruß Phil
Bitte warten ..
Mitglied: Krebs62
17.01.2012 um 20:10 Uhr
Halo Phil,

vielen Dank für das Script. Leider bekomme ich folgende
Fehlermeldung:

Unzulässige Option - /h:01-17-2012

Gruß Krebs62
Bitte warten ..
Mitglied: pieh-ejdsch
17.01.2012 um 21:10 Uhr
Bei mir Funktioniert dieses Script.
Für jeden Tag im Jahr und für das FolgeJahr

Hast Du den Xcopy Befehl verändert?

schreib in die zweite Zeile
01.
echo on
und Starte den Batch in einer seperaten CMD-Box

dann siehst Du bei welchen Befehl die Fehlermeldung kommt und wie die Befehle im Klartext dastehen.

[Edit: die Variable Pfad im Dir befehl Berichtigt ]

Gruß Phil
Bitte warten ..
Mitglied: Krebs62
18.01.2012 um 13:23 Uhr
Hallo Phil,

hier mein Script:

@echo off &setlocal
echo on
set "TT=%date:~-10,2%"
set "MM=%date:~-7,2%"
set "JJ=%date:~-4%"

set Quelle="c:\test\*.*"

set "Pfad=h:\Arbeit\"

set "Ziel=%MM%-%TT%-%JJ%"

if not exist "%Pfad%%ziel%\" (
xcopy %Quelle% "%Pfad%%ziel%\" /h:%ziel% |findstr /c:"0 Dat" && echo Heute nichts zu Kopieren! || echo TagesOrdner %Ziel% angelegt.
) else echo Tagesordner schon vorhanden!
echo(

:alleJahrewieder
set "alleJahrewieder="
for /f "tokens=1,2* delims=-" %%i in (' dir /b/ad "%Pfad%" ^|findstr /r "[0-1][0-9]-[0-9-]*$" ') do (
if %%j lss 32 if %MM% neq %%i xcopy "%Pfad%%%i-%%j-%%k" "%pfad%%%i-%%k\" /y >nul && rd /s /q "%Pfad%%%i-%%j-%%k" && echo Aus %%i-%%j-%%k in MonatsOrdner %%i gelegt.
if %%j gtr 2011 if %JJ% gtr %%j (
rem Jahr
xcopy "%Pfad%%%i-%%j" "%pfad%%%j\%%i-%%j\" >nul && rd /s /q "%pfad%%%i-%%j" && echo %%i-%%j in JahresOrdner %%j gelegt.
if exist 12-??-???? set "alleJahrewieder=goto :alleJahrewieder"
) )

%alleJahrewieder%
ping -n 6 localhost >nul

Leider wird aus dem Test Ordner nicht nach H:\arbeit kopiert.
Im Testordner sind 5 Dateien die nach h:\arbeit kopiert werden sollen.
z.B. h:\arbeit\Tagesdatum
Was machen ich hier noch falsch?

Gruß Krebs62
Bitte warten ..
Mitglied: pieh-ejdsch
18.01.2012 um 13:47 Uhr
moin Krebs62,

Zitat von pieh-ejdsch:
Hast Du den Xcopy Befehl verändert?

Setzen! 6.

Kopier Dir nochmal den Originalen Batch.
Passe in der Zeile 07: und 09: nur die beiden Variablen an. Nicht mehr!

... dann laufen lassen.

Gruß Phil
Bitte warten ..
Mitglied: icsat
18.01.2012 um 14:09 Uhr
Hallo Krebs62,

Zitat von Krebs62:
Was machen ich hier noch falsch?
  1. Du ignorierst die Fragen von pieh-ejdsch
  2. Du ignorierst die Empfehlungen von pieh-ejdsch
  3. Du ignorierst die Formatierungshilfe

Frage:
Zitat von pieh-ejdsch:
Hast Du den Xcopy Befehl verändert?
Diese hättest Du mit "JA" beantworten sollen und hättest somit schon mal einen Anhaltspunkt wo der Fehler evtl. liegen könnte.

Empfehlung:
Zitat von pieh-ejdsch:
schreib in die zweite Zeile
01.
> echo on 
02.
> 
und Starte den Batch in einer seperaten CMD-Box

dann siehst Du bei welchen Befehl die Fehlermeldung kommt und wie die Befehle im Klartext dastehen.
Leider hast Du nicht mitgeteilt, was dabei herausgekommen ist. Wobei ich nicht glaube, dass Du es getan hast. Sonst müsstest Du den Fehler eigentlich selbst erkennen.

Empfehlung und Formatierungshilfe:
Zitat von Connor1980:
P.S.: code bitte wg. besserer Lesbarkeit entsprechend formatieren
Da Du in Deinem letzten Post nur Quelltext ohne "code" Tags postest und es nicht einmal für nötig hältst zu sagen welche Fehlermeldung ausgegeben wird bzw. wie sich das Script verhält, wirst Du vermutlich kaum jemanden finden der Dir hilft Dein Problem zu lösen. Denn zumindest meine Bereitschaft den ganzen schwer lesbaren Thread durchzuarbeiten um erahnen zu können welches Problem Du denn jetzt noch hast hält sich ziemlich in Grenzen, obwohl ich es nun doch getan haben. Es schrekt aber stark ab, wenn man nur mal schnell reinschaut ob man hier kurz unterstützen kann! Bitte verstehe meine Ausführung jetzt nicht falsch. Es ist nichts persönliches, sondern konstruktiv gemeinte Kritik.

Damit meine Mühe jetzt nicht vergebens war hier meine Vermutung zu Deinem im Post vom 17.01.2012, 20:10:29 Uhr geschilderten Problem:
Zitat von Krebs62:
Unzulässige Option - /h:01-17-2012
Tausche mal das "/h" im "XCOPY" durch das "/d", dann sollte zumindest diese Meldung, wie von pieh-ejdsch angedeutet erledigt sein.

Ein
01.
D:\temp>xcopy /?
Erklärt Dir, was die Parameter bedeuten und das "/h" keine weiteren Werte erwartet. "/d" hingegen schon.


Gruß icsAT


[edit] P.S.: Oh, pieh-ejdsch war deutlich schneller, ist aber zum selben Ergebnis gekommen [/edit]
Bitte warten ..
Mitglied: Krebs62
18.01.2012 um 20:23 Uhr
Hallo icsAT,

vielen Dank für die Kritik. Werde mich mal mit der Formatierungshilfe eingehend beschäftigen.

Ich habe das h durch d ersetzt. Jetzt läuft das Script durch aber es wird kein Verzeichnis
anglegt und die Dateien werden nicht darein kopiert.
Im Verzeichnis test sind Dateien enthalten. Das Script sagt heute nichts zu kopieren.

Gruß Krebs62
Bitte warten ..
Mitglied: icsat
18.01.2012 um 21:10 Uhr
Hallo Krebs62,

da Du Echo on hast wäre interessant, was Dein Script denn an der xcopy Zeile ausgibt.

Welches Änderungsdatum haben die Dateien in Deinem Verzeichnis und welches Verhalten beim xcopy hast Du erwartet?

01.
D:\Temp>xcopy /? 
02.
Kopiert Dateien und Verzeichnisstrukturen. 
03.
 
04.
XCOPY Quelle [Ziel]        [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] 
05.
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] 
06.
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] 
07.
                           [/EXCLUDE:Datei1[+Datei2][+Datei3]...] 
08.
 
09.
  Quelle    Die zu kopierenden Dateien. 
10.
  Ziel      Position und/oder Name der neuen Dateien. 
11.
12.
13.
14.
  /D:M-T-J  Kopiert nur die an oder nach dem Datum geänderten Dateien. 
15.
            Ist kein Datum angegeben, werden nur Dateien kopiert, 
16.
            die neuer als die bestehenden Zieldateien sind. 
17.
18.
19.
.

Gruß icsAT
Bitte warten ..
Mitglied: pieh-ejdsch
18.01.2012 um 21:30 Uhr
So nun haste mich.

Ich nahm an, Du wolltest nur die Dateien in den TagesOrdner kopieren.
Es wird dann ein Verzeichnis mit Tagesdatum angelegt und die Dateien da rein kopiert.
Somit nahm ich auch an, dass Du nur die Heute erstellten kopieren willst. Passend zu Deinem bisherigen Code.

Sollen nur die/alle Verschoben werden welche zurzeit in der Quelle sind?

Gruß Phil
Bitte warten ..
Mitglied: Krebs62
18.01.2012 um 21:35 Uhr
Hallo icsAT,

ich habe jetzt mal die Batchdatei in den Ordner test kopiert und hier ausgeführt. Hier
legt er im Verzeichnis Arbeit ein Verzeichnis mit dem Tagesdatum und kopiert aber
nur die Batchdatei rein. Die anderen Dateien (csv) werden nicht kopiert.

Es wäre schön die Batchdatei von irgend einem Verzeichnis aus zu starten und das alle
Dateien zu kopieren.

Gruß Krebs62
Bitte warten ..
Mitglied: Krebs62
18.01.2012 um 21:37 Uhr
Hallo Phil,

es sollen alle Dateien die in der Quelle sind verschoben werden.

Gruß Krebs62
Bitte warten ..
Mitglied: icsat
19.01.2012 um 08:03 Uhr
Hallo Krebs62,

warum verwendest Du dann den Parameter /D in Deinem xcopy?


Gruß icsAT
Bitte warten ..
Mitglied: Krebs62
19.01.2012 um 10:06 Uhr
Hallo icsAT,

danke, das hat funktioniert.
Jetzt habe ich noch ein Problem.
Im Quellordner werden die Dateien
nicht gelöscht.

Gruß Krebs62
Bitte warten ..
Mitglied: pieh-ejdsch
19.01.2012 um 11:25 Uhr
moin Krebs,

Schau nochmal da Oben die Edit genau an.

Gruß Phil
Bitte warten ..
Mitglied: Krebs62
19.01.2012 um 15:05 Uhr
Hallo Phil,

es klappt. Danke

Eine Sache habe ich aber noch.
Habe mal in den Ordner Arbeit die Unterverzeichnisse von einem Monat
kopiert und dann die Batchdatei ausgeführt.
Nun sollte z.B. der Ordner "12-2011 angelegt werden und die ganzen
Unterverzeichisse vom Monat 12 dar ein verschoben werden.
Das funktioniert leider noch nicht.
Wäre schön, wenn das auch noch funktionieren würde.

Gruß Krebs62
Bitte warten ..
Mitglied: pieh-ejdsch
19.01.2012 um 16:13 Uhr
Der Batch erzeugt keine Leeren Tages Verzeichnisse. Wenn der Monat des Verzeichnisses nicht Aktuell ist werden diese Verzeichnisse verschoben ins Monatsverzeichnis.
Und zwar alle andern passenden Monate egal welches Jahr.

12-2011 sollte dennoch angelegt werden wenn Du %date% oder das Datum nicht auf Monat Dezmber stehen hast.

in Zeile 22: steht die Jahreszahl 2011
nach diesem Jahr wird erst ins Jahresverzeichnis Verschoben. Mach also aus 2011 eine 2000.

vor ausführen des Batches macht eine veränderte Variable Date ein erstellen von anderen DatumsOrdnern möglich.

PS.
wie heisen denn die Unterverzeichnisse?

Gruß Phil
Bitte warten ..
Mitglied: Krebs62
19.01.2012 um 20:40 Uhr
Hallo Phil,

das Verzeichnis 12-2011 wird erstellt.

Es gibt Verzeichnisse 01-12-2011 bis 31-12-2011

Wenn ich den Batch ausführe, werden nicht die Verzeichnisse mit den Dateien
verschieben, sondern vom 31.12. werden nur die Dateien ins Verzeichnis
12-2011 kopiert.

Gruß Krebs62
Bitte warten ..
Mitglied: icsat
19.01.2012 um 21:08 Uhr
Hallo Krebs62,

dass Skript von Phil tut imho ziemlich genau das, was Phil aus Deinen unklaren und geringfügig wechselnden Anforderung verstanden hat. Auf Nachfragen hast Du ja auch nicht wirklich reagiert.
Z.B. steht diese Frage nach wie vor im Raum:
Zitat von pieh-ejdsch:
> Jetzt soll nach einem Monat diese Verzeichnisse zu einem Monatsverzeichnis zusammen gefasst werden.
Sollen nun diese Verzeichnisse Verschobne werden oder nur deren Inhalt ins Monatsverzeichnis?
Oder ich habe Deine Antwort dazu überlesen.

[edit] Die Antwort dazu habe ich nun ansatzweise in Deinem Post vom 19.01.2012, 20:40:02 Uhr gefunden, welchen ich aber erst nach meinem Post gesehen habe ;-( [/edit]

Einzig das Verschieben des Ordners 12-JJJJ im ersten Lauf im neuen Jahr funktioniert imho nicht so, wie ich es erwarten würde.


Hallo Phil,

da ich gerade meine Spendierhosen an habe (Sonst würde ich ja in diesem Thread auch nichts mehr schreiben ) würde ich Deinem Skript folgendes spendieren:

Der Zeile 21 ein "%%i-%%j-%%k\"
01.
if %%j lss 32 if %MM% neq %%i xcopy "%Pfad%%%i-%%j-%%k" "%pfad%%%i-%%k\%%i-%%j-%%k\" /y >NUL && rd /s /q "%Pfad%%%i-%%j-%%k" && echo Aus %%i-%%j-%%k in MonatsOrdner %%i gelegt.
Der Zeile 24 "/e", damit auch leere Verzeichnisse, falls warum auch immer vorhanden, kopiert werden:
01.
xcopy /e "%Pfad%%%i-%%j" "%pfad%%%j\%%i-%%j\" >NUL && rd /s /q "%pfad%%%i-%%j" && echo %%i-%%j in JahresOrdner %%j gelegt.
Falls das leere Verzeichnis auch noch das erste in dem Jahr ist würde ich noch eine ganze Zeile23,5 spendieren:
01.
if not exist "%pfad%%%j" md "%pfad%%%j"
Der Zeile 25 würde ich einen "%Pfad%", nen "Else-Zweig" mit dem Inhalt der Zeile 19 und ein paar Klammern hinzufügen. Da das nun aber so viel geben für ne kleine Zeile ist würde ich als Gegenleistung ein "??-" und die komplette Zeile 19 (ist ja jetzt hierher umgezogen) klauen.
01.
if exist "%Pfad%12-????" (set "alleJahrewieder=goto :alleJahrewieder") else (set "alleJahrewieder=")
Zum Abschluss würde ich diese Zeile dann aus der IF-Klammer herausnehmen, also zwischen die beiden (IF und FOR) schließenden Klammen setzen.


Mit diesen Anpassungen könnte das Ergebnis eventuell den Anforderungen im Kopfe des TE entsprechen.


Gruß icsAT
Bitte warten ..
Mitglied: pieh-ejdsch
19.01.2012 um 22:54 Uhr
Moin,

@krebs
sieh doch - wie ganz Verwirrt ich schau ....
Zitat von Krebs62:
set "ziel=d:\test\test1\%mon%-%tag%-%jahr%\*.*"
hier ist die Annahme Dein TagesOrdner hat dieses Format: Monat-Tag-Jahr
12-31-2012

jedoch hier:
Es gibt Verzeichnisse 01-12-2011 bis 31-12-2011
also Tag-Monat-Jahr
Wenn Du diese Ordner mit dem Format selbst erstellt hast hätten diese aber in die Verzeichnisse
01-2011 bis 31-2011 von dem Script sortiert werden müssen.
ist soweit angepasst

@icsat
Wenn Du if ... alleJahrewieder aus der Schleife nimmst wird diese Prüfung aber jeden Tag im Jahr gemacht. Den ganzen Dezember sogar Positiv.
So nur das 1. Mal im neuen Jahr.

Gruß Phil
Bitte warten ..
Mitglied: icsat
20.01.2012 um 00:22 Uhr
Moin Phil,

den Wiederspruch in Krebs62 Ordnerbezeichnung hab ich ja ganz übersehen. Bin auch von MM-TT-JJJJ ausgegangen, wobei ich persönlich für ein Datum im Ordner oder Dateinamen immer ein führendes JJJJMMTT bevorzuge, da es sich in jeder Lebenslage einfach sortieren lässt

Deine Anmerkung zum Verschieben der Zeile 19 sind wohl berechtigt, auch wenn ich sie nicht zu 100% teilen kann:
Ja, die Prüfung würde bei mir jeden Tag gemacht werden. Allerdings wäre sie nur nach dem Jahreswechsel positiv, da der Monatsordner 12-JJJJ erst mit dem Monatswechsel 12 auf 01 erstellt wird, wenn ich das Skript richtig interpretiert habe.
Ja, bei deiner Variante würde die Prüfung nur ein mal stattfinden. Allerdings würde es nicht funktionieren, wenn Du mit Deiner Verarbeitung erst im Dezember beginnst. Dann würde der if bei der ersten Verarbeitung im neuen Jahr nicht angesprochen werden weil kein Monatsordner mit "%%j gtr 20xx" zum "dir"-Zeitpunkt vorhanden ist. Und bei der zweiten Verarbeitung im neuen Jahr würde er ohnehin automatisch verarbeitet.
Aber Du hast recht kann ruhig dort bleiben, wenn man sich der Problematik bewussst ist.


Gruss icsAT
Bitte warten ..
Mitglied: pieh-ejdsch
20.01.2012 um 10:56 Uhr
icsAT,

Interessant: Dein Theo rie:
Deine Anmerkung zum Verschieben der Zeile 19 sind wohl berechtigt, auch wenn ich sie nicht zu 100% teilen kann:
Richtig: Aber ich geb zu: ich hab nicht genau gelesen. Ich hab den Tausch Zeile 25 mit Zeile 19 angenommen. schäm

Und bei der zweiten Verarbeitung im neuen Jahr würde er ohnehin automatisch verarbeitet.
Ja auf den einen Tag hinoder her kommt es ja nun auch nicht an. Hätte man dieses Goto :Geraffel gleich lassen können.

@krebs
setzt Du bitte den Fred auf Beantwortet, wenn er es für Dich ist - sonst Frag weiter.

Gruß Phil
Bitte warten ..
Mitglied: icsat
20.01.2012 um 11:47 Uhr
Hi Phil,

ich meinte heute Morgen auch nicht das Verschieben der Zeile 19 (die sollte bei mir ja raus), sondern das Verschieben der Zeile 25 nach unten aus dem If raus.
Aber ist ja egal, da es auf den einen Tag auch meiner Meinung nach nicht ankommt.
Und Deine Variante ja zusätzlich nur nicht beim beim ersten Lauf im neuen Jahr zieht, wenn die Verarbeitung im Dezember beginnt.


Gruß icsAT
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...