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

Batch um Daten in dateinamen einzufügen und dateien rumzukopieren

Mitglied: LennartV

LennartV (Level 1) - Jetzt verbinden

29.11.2007, aktualisiert 21.02.2008, 27220 Aufrufe, 7 Kommentare

Guten Tag,

nachdem ich einige Zeit damit zugebracht habe eine Möglichkeit zu finden um eine Datei zu Archivieren. Dachte ich mir ich poste mein Ergebnis einfach mal um anderen das Suchen zu erleichtern........
01.
@echo on 
02.
 
03.
REM <Dateiname> als Variable setzen 
04.
 
05.
	set Datei=<Name> 
06.
 
07.
REM Datum erstellen (kurzform Datum:JJJJ-MM-TT; langes Datum:T. MMM JJJJ) 
08.
 
09.
	set ARCHIVNAME=%DATE:~3,4%%DATE:~8,2%%DATE:~11,2% 
10.
 
11.
REM Neuen Namen zusammensetzen 
12.
	 
13.
	set NEU=%Datei%-%Archivname%.<Endung> 
14.
 
15.
REM Benenne die Datei um 
16.
 
17.
	ren [Laufwerk]:\[Pfad]\<Dateiname-alt.Endung> %Neu% 
18.
 
19.
REM Kopiere die umbenannte Datei in Verzeichnis (Archiv) 
20.
 
21.
	copy [Laufwerk]:\[Pfad]\%Neu% [Laufwerk]:\[Pfad] 
22.
 
23.
REM Lösche alte Datei im "Aktuelle-Version-Ordner" 
24.
	 
25.
	del [Laufwerk]:\[Pfad]\%Neu% 
26.
 
27.
REM kopiere neue Datei vom Transfer-Verzeichnis 
28.
	copy [Laufwerk]:\[Pfad]\<Dateiname.Endung> [Laufwerk]:\[Pfad] 
29.
 
30.
REM lösche die Datei vom Transfer 
31.
	del [Laufwerk]:\[Pfad]\<Dateiname.Endung>
sry wenn das evtl verwirrend ist mit den Variablen aber mit bisschen denken schafft ihr das schon dahinter zu steigen.


/edit den Code schreibt ihr in einer Textdatei (.txt) speichert diesen und ändert den dateinamen dann in <Name>.bat (ehemals <Name>.txt) um daraus eine Batch-Datei zu machen.
/edit 2 unter Windows 9x und NT werden Stapelverarbeitugnsdateien übrigens als <Name>.cmd
gespeichert.
/edit 3 %Date% liest das Datum aus fügt man hier noch werte ein z.B %DATE~3,4% dann gibt das System an Stelle 3 zwei Zeichen aus. Hierfür muss man sein Datumsformat kennen und ein wenig Zählen können und mit ein wenig geduld und herumexperimentieren bekomm man dann ein schönes Ergebnis. Das ganze funktioniert mit %TIME% übrigens genauso. Siehe in den Kommentaren für genauere Erklärung dazu.
Danke an die Kritiker wenn euch noch mehr einfällt immer her damit ich baus dann irgendwie ein.

Gruß
Lennart
Mitglied: TuXHunt3R
09.12.2007 um 00:15 Uhr
Gutes Tutorial. Für Leute, die sich in Batch nicht so auskennen durchaus zu empfehlen.
Bitte warten ..
Mitglied: Biber
10.12.2007 um 07:42 Uhr
@LennartV

Kann mich da TuX' Kommentar durchaus anschließen, würde Dich aber bitten, gerade weil sich um eine Grundlagentutorial handelt, noch einen Hinweis zu ergänzen, dass der obige Code als Textdatei mit der Endung .bat gespeichert werden sollte.

Damit dieser Kontext klarer erkennbar ist, verschiebe ich das Tutorial mal von "Tools & Utilities" nach "Batch & Shell".

Grüße
Biber
Bitte warten ..
Mitglied: tom-k
10.12.2007 um 16:42 Uhr
vielleicht sollte man auch noch erwähnen, daß man mit %date% das Systemdatum und mit %time% die Systemzeit bekommt.

In dem man die Variablen aneinander reiht, kann man das Ergebnis auch anpassen:
set Datum=%date:~6,4%-%date:~3,2%-%date:~0,2%
ergibt (nur heute!): 2007-12-10

Die folgende Schreibweise:
%date:~6,4%
gibt nach dem 6.Zeichen (also ab dem 7.Zeichen) die folgenden 4 Zeichen zurück. D.h. ist das Systemdatum der 10.12.2007 wird 2007 zurückgegeben.

Die folgende Schreibweise:
%time:~0,5%
gibt nach dem 0.Zeichen (also ab dem 1.Zeichen) die folgenden 5 Zeichen zurück. D.h. ist die Systemzeit "16:20:41,26" wird 16:20 zurückgegeben.

Da manche Systeme das Datum mit Wochentag und andere ohne, oder manche den Wochentag nur mit zwei Zeichen ausgeben, sind u.U. einige Anpassungen erforderlich.

Ebenso bei der Systemzeit (24Stunden) die mit führender 0 oder führendem Leerzeichen ausgegeben wird. Folgende Zeilen stellen bei Uhrzeiten kleiner 10Uhr eine 0 voran:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
set Zeit=%time:~0,5%
if %time:~0,2% gtr 9 goto Zeitgut
set Zeit=0%time:~1,1%%time:~2,3%
:Zeitgut
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bitte warten ..
Mitglied: 58502
10.12.2007 um 16:48 Uhr
Geschrieben von Biber:

... gerade weil sich um ein Grundlagentutorial handelt, noch einen Hinweis zu ergänzen,
dass der obige Code als Textdatei mit der Endung .bat gespeichert werden sollte.

Mit Rücksicht auf Win9x-User, die hier ab und zu auch mal lesen, würde ich vorschlagen, dass Stapelverarbeitungsdateien, die für ein NT-System entwickelt wurden, grundsätzlich mit der Dateierweiterung .cmd gespeichert werden. Unter Win9x laufen nämlich die meisten hier gemachten Vorlagen nicht.
Bitte warten ..
Mitglied: Biber
10.12.2007 um 17:11 Uhr
@lennart
Danke für die prompte Reaktion.

@7stein
Stimmt, vollkommen berechtigter Einwand.
Werde auch in Zukunft darauf achten.

Grüße
Biber
Bitte warten ..
Mitglied: KeiosID
21.02.2008 um 13:07 Uhr
Hallo,

kann man statt des copy und del
auch eine move Befehl verwenden?

GRuß

KeiosID
Bitte warten ..
Mitglied: LennartV
21.02.2008 um 14:28 Uhr
Jo, geht!
Ich weiß nicht genau wie der Move-Befehl funktioniert, aber ich denke du kannst dann den part mit löschen der alten Datei rauslassen weil der das verschiebt statt zu kopieren. Musst du evtl ausprobieren
Gruß Lennart
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens

Tipp von HopfmanBatch & Shell17 Kommentare

Ich habe eine ständig wachsende Anzahl von Dateien aus unterschiedlichen Quellen, die in Unterverzeichnisse verschoben werden sollen. So weit ...

Papierkorb

Gelöscht1234

Tipp von 126139Papierkorb4 Kommentare

asdgelöscht1234gelöscht1234gelöscht1234gelöscht1234gelöscht1234

Datenschutz

Microsoft: Welche Daten werden eigentlich gesammelt?

Information von FrankDatenschutz21 Kommentare

Da ich in einigen Diskussionen auf unserer Seite feststellen musste, dass die wenigsten Admins oder ITPros wirklich wissen, was ...

Hardware

Daten zum Stromverbrauch für Bitcoin-Mining

Information von DerWoWussteHardware7 Kommentare

listet einige Fakten und Schätzungen zum aktuellen Stromverbrauch durch Bitcoin-Mining auf. Wenn man den Schätzungen glauben mag, wird derweil ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 23 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...