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

Beim Verschieben eine Textdatei mit Datum anlegen

Frage Entwicklung Batch & Shell

Mitglied: matze-pe

matze-pe (Level 1) - Jetzt verbinden

10.06.2009, aktualisiert 16:39 Uhr, 3332 Aufrufe, 8 Kommentare

Hallo miteinander,
ich habe eine Batchdatei die mir bestimmte Dateien heraussucht und anschließend umbenennt und verschiebt.

Jetzt speichere ich den "Verschieb-Vorgang" in eine textdatei, das klappt bis hier auch super.


Jetzt möchte ich das in der Textdatei die abgespeichert wird, Datum & Uhrzeit erscheint, wann er welche Datei verschoben hat.


Wie bekomme ich das hin, dass das Datum in der Textdatei steht?


Hier mein Skript:

01.
set jahr=%date:~-4% 
02.
set monat=%date:~-7,2% 
03.
set tag=%date:~-10,2% 
04.
 
05.
set stunde=%time:~0,2% 
06.
set minute=%time:~3,2% 
07.
set sekunde=%time:~6,2% 
08.
 
09.
 
10.
for /f %%i in ('dir /b  "C:\Ruskaluga\*.d01"') do move "%%i" "C:\ziel\DELJIT-A200%%~ni">>C:\RusKaluga-kopieren.txt

Gruß
Matze
Mitglied: pxxsxx
10.06.2009 um 17:17 Uhr
Hallo,
ich versteh das Ganze nicht so richtig. Warum zerlegst du Datum und Uhrzeit?

01.
echo Die Datei %variablediedendateinamenenthält% wurde am %date% um %time% verschoben. >> C:\RusKaluga-kopieren.txt
Gruß
Peter
Bitte warten ..
Mitglied: bytecounter
10.06.2009 um 17:29 Uhr
Moin matze-pe,

soweit ich weiß, geht das nur, wenn Du die Ausgabe nicht in eine Datei umleitest, sondern diese manuell erstellst. Da for-Schleifen nur ein Kommando enthalten dürfen, würde ich das mit einer zweiten Batch machen

01.
... 
02.
for /f %%i in ('dir /b  "C:\Ruskaluga\*.d01"')  
03.
do call move.bat %i
01.
rem move.bat 
02.
 
03.
set jahr=%date:~-4% 
04.
set monat=%date:~-7,2% 
05.
set tag=%date:~-10,2% 
06.
 
07.
set stunde=%time:~0,2% 
08.
set minute=%time:~3,2% 
09.
set sekunde=%time:~6,2% 
10.
 
11.
@move "%1" "C:\ziel\DELJIT-A200%%~ni" 
12.
echo move "%1" "C:\ziel\DELJIT-A200%%~ni" >>C:\RusKaluga-kopieren.txt  %jahr.%monat.%tag %stunde:%minute:%sekunde 
13.
 
Bitte warten ..
Mitglied: LotPings
10.06.2009 um 17:43 Uhr
Zitat von bytecounter:
Moin matze-pe,

soweit ich weiß, geht das nur, wenn Du die Ausgabe nicht in eine Datei umleitest, sondern diese manuell erstellst.
Da for-Schleifen nur ein Kommando enthalten dürfen, würde ich das mit einer zweiten Batch machen
Wie kommst du denn darauf?
  • Man kann mehrere Befehle in einer Zeile mit & hintereinander hängen,
  • Man kann mehrere Zeilen in Klammern hinter das Do setzen
  • Man kann ohne externe Datei eine interne Sub aufrufen, so wie dies hier:

01.
@Echo off 
02.
Setlocal 
03.
Set Log=^>^>"C:\RusKaluga-kopieren.txt" 
04.
Set "Mask=C:\Ruskaluga\*.d01" 
05.
for /f %%i in ('dir /b  "%Mask%"') do Call :MoveLog "%~fi" 
06.
Goto :Eof 
07.
:MoveLog 
08.
set DTStamp=%date:~-4%-%date:~-7,2%-%date:~-10,2%  
09.
%Log% set /P =%DTStamp%_%time:~0,8% <NUL 
10.
%Log% move %1 "C:\ziel\DELJIT-A200%~n1" 
11.
Goto :Eof
Gruß
LotPings
Bitte warten ..
Mitglied: pieh-ejdsch
10.06.2009 um 20:43 Uhr
Zitat von matze-pe:
for /f %%i in ('dir /b "C:\Ruskaluga\*.d01"') do move "%%i" "C:\ziel\DELJIT-A200%%~ni">>C:\RusKaluga-kopieren.txt
ähhm was steht dann hier in Deiner Txt drin???


Mach das mal so hier
01.
for /f %%i in ('dir /b  "C:\Ruskaluga\*.d01"') do ( 
02.
	move "%%i" "C:\ziel\DELJIT-A200%%~ni" 
03.
	echo %date:~-4%%date:~-7,2%%date:~-10,2%%time:~0,2%%time:~3,2%%time:~6,2% "%%i" "C:\ziel\DELJIT-A200%%~ni" >>C:\RusKaluga-kopieren.txt 
04.
) 
das Ihr euern code immer so aufblasen müsst - versteh ich net...
Bitte warten ..
Mitglied: matze-pe
10.06.2009 um 21:34 Uhr
Hallo miteinander,
vielen Dank für Eure schnelle Hilfe


Schönen Abend


Gruß
Matze
Bitte warten ..
Mitglied: bastla
10.06.2009 um 22:46 Uhr
@pieh-ejdsch
Nur als Anmerkung: Bei dieser Variante wird natürlich für jede Datei die selbe Zeit eingetragen, aber auf die paar Sekunden Unterschied dürfte es wohl nicht ankommen (bzw ist das dann sogar als "Feature" zu verkaufen ) ...

Grüße
bastla
Bitte warten ..
Mitglied: pieh-ejdsch
11.06.2009 um 01:16 Uhr
@bastla
wusst ich gar nicht das die Zeit in der Forschleife bzw in der Klammer danach stehenbleibt.
Dann wirds halt als "undocumented Feature" (gibts den Begriff überhaupt?) verkauft.

Für die Fragen die noch nicht beantwortet wurden
Zitat von pxxsxx:
ich versteh das Ganze nicht so richtig. Warum zerlegst du Datum und
Uhrzeit?
Ich denke mal damit man eine bessere sortierung hat nach

JJJJMMTTStundeMinuteSekunde

- ohne doppelpunkte
Meine Photos sind auch fast so nach dem Muster benannt da kommt man ein bisschen besser zurecht.

Aber ich hab Dann auch noch eine ...
Zitat von bytecounter:
Zeile 12
echo move "%1" "C:\ziel\DELJIT-A200%%~ni" >>C:\RusKaluga-kopieren.txt %jahr.%monat.%tag %stunde:%minute:%sekunde
... Frage ! Wat soll das denn?
Batchparameter mit gekoppeltem VersuchsVariablen???? Dazu noch hinter dem Dateinamen - das bringt doch nix... wenn dann soherum und richtig Deine Zeile 12
01.
echo move "%1" "C:\ziel\DELJIT-A200%%~ni"%jahr%.%monat%.%tag% %stunde%:%minute%:%sekunde%>>C:\RusKaluga-kopieren.txt 
sonst ists gut so.

Gruß PH
Bitte warten ..
Mitglied: bastla
11.06.2009 um 07:23 Uhr
@PH
Die Variablenauflösung von %date% und %time%, aber auch etwa %random%, erfolgt wie bei "gewöhnlichen" Variablen nur zu Beginn der Schleife - wenn innerhalb der Schleife die aktuellen Werte verwendet werden sollen, müsste zu "delayedExpansion" oder einem Unterprogramm gegriffen werden ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
Printerport mit Powershell anlegen (12)

Frage von Druide83 zum Thema Batch & Shell ...

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 ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...