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 täglich wegkopieren und datum Anhängen

Frage Entwicklung Batch & Shell

Mitglied: TeleplanGmbH

TeleplanGmbH (Level 1) - Jetzt verbinden

22.04.2008, aktualisiert 23.04.2008, 5543 Aufrufe, 7 Kommentare

Hallo,

habe einiges Versucht aber es will nicht funktionieren..

In Ordner A werden jeden Tag dateien abgelegt. Bei batchaufruf soll ein neuer Ordner B angelegt und der Inhalt von A dort abgelegt und abschliessend aus A gelöscht werden.
Im Ordnernamen von B muss das Datum enthalten sein, also z.B. Rechnungen220408.

Danke!
Mitglied: 60730
22.04.2008 um 17:47 Uhr
Hi,

geht ganz einfach - Ergebnis sollte das gleiche wie dein Ziel sein, -jedoch ändert die Batch den Namen des Rechnungsordners in Rechnungsordner-datum um und erstellt dann einen neuen leeren Rechnungsordner.
01.
FOR /F "TOKENS=1,2*" %%A IN ('DATE/T') DO SET DATE=%%B 
02.
move c:\rechnungen c:\rechnungen-%date% 
03.
md c:\rechnungen
Bitte warten ..
Mitglied: 6741
22.04.2008 um 17:58 Uhr
*

md c:\rechnung_%date%

move c:\rechnung\*.* c:\rechnung_%date%

*

geht, habs getestet ....

gruß

und das ist nur ein zweizeiler ...

diese batch um 22:00 und wech sind dies Dateien ...
Bitte warten ..
Mitglied: 60730
22.04.2008 um 18:10 Uhr
geht, habs getestet ....

und das ist nur ein zweizeiler ...

einzeller
md c:\rechnung_%date% |move c:\rechnung\*.* c:\rechnung_%date%

Leider haben sowohl der Ein als auch der Zweizeiler den fahlen Nachgeschmack, das der Ordner
c:\rechnung_Di
und in dem Ordner, von wo aus das Skript gestartet wird der Unterordner "22.04.2008" erstellt wird.

Dann doch lieber die eine Zeile mehr in Kauf nehmen.
Bitte warten ..
Mitglied: bastla
22.04.2008 um 18:23 Uhr
Hallo TeleplanGmbH und willkommen im Forum!

Da Du uns nicht wissen lässt, auf welchem System der Batch laufen soll, eine Datumsauslesevariante (ob's diese Wort vorher schon gab? ), die sowohl auf (dt) W2000 als auch ab XP funktioniert:
01.
set "Jahr=%date:~-4%" 
02.
set "Monat=%date:~-7,2%" 
03.
set "Tag=%date:~-10,2%"
Die einzelnen Bestandteile kannst Du nach Bedarf kombinieren. Um etwa vernünftig sortierbare Ordnernamen der Art
01.
Rechnungen_2008-04-22
zu erzeugen, ginge das so:
01.
set "Ordner=Rechnungen_%Jahr%-%Monat%-%Tag%"
Den Rest haben ja bereits Timobeil und firewalldevil dargestellt - mit der Variablen %Ordner% sähe das dann so aus:
01.
md "C:\%Ordner%" 
02.
move "C:\Rechnung\*.*" "C:\%Ordner%\"
Die vielen Anführungszeichen bei meinem Vorschlag sind rein vorbeugender Natur (falls sich irgendwo in einem Pfad oder Dateinamen Leerzeichen befinden sollten) ...

Grüße
bastla
Bitte warten ..
Mitglied: 6741
22.04.2008 um 21:15 Uhr
> geht, habs getestet ....

und das ist nur ein zweizeiler ...

einzeller
> md c:\rechnung_%date% |move
c:\rechnung\*.* c:\rechnung_%date%

Leider haben sowohl der Ein als auch der
Zweizeiler den fahlen Nachgeschmack, das der
Ordner
> c:\rechnung_Di
und in dem Ordner, von wo aus das Skript
gestartet wird der Unterordner
"22.04.2008" erstellt wird.

Dann doch lieber die eine Zeile mehr in Kauf
nehmen.



sorry, das verstehe ich nicht, warum soll ein Ordner dort erstellt werden??? Ist doch eindeutig, oder?

@bastla ... ja, an das Datum habe ich auch gedacht... danke für die Verbesserung!

gruß Gerald
Bitte warten ..
Mitglied: bastla
22.04.2008 um 21:23 Uhr
@fwd

TimoBeil verwendet offensichtlich W2000 (NT wird's ja wohl doch nicht sein ), wo das heutige Datum so angezeigt wird:
01.
Di 22.04.2008
Folge: Der "md"-Befehl erzeugt tatsächlich die beiden Ordner "rechnung_Di" und "22.04.2008".

Um genau dieses Problem zu umgehen, verwende ich die oben unten dargestellte Schreibweise, mit der ich das Ganze "von hinten" aufrolle ...

Grüße
bastla
Bitte warten ..
Mitglied: TeleplanGmbH
23.04.2008 um 09:55 Uhr
Hallo,

danke für die vielen Antworten:

Einfach den Ordner verschieben und einen neuen erstellen geht nicht wegen der Zugriffsrechte:
In den A Ordner darf jeder schrieben, aber am nächsten tag (nac hdem verschieben) nur noch bestimmte Personen.

Habe verschiedene Vorshcläge hier zusammengeführt zu folgendem Skript, das wunder bar funktioniert:
01.
FOR /F "TOKENS=1,2*" %%A IN ('DATE/T') DO SET DATE=%%B 
02.
md "c:\Ablage\Eingang_%date%" 
03.
copy  "c:\Eingang\*.*" "c:\Ablage\Eingang_%date%" 
04.
del /q "c:\Eingang\*.*"
Ordnernamen sind natürlich fiktiv, der tatsächliche, lange Pfad bringt ja keinem was..

Also, vielen Dank - problem gelöst
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...