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, 3337 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Outlook & Mail
gelöst Outlook crash bei manuell Konto anlegen (2)

Frage von bigrala zum Thema Outlook & Mail ...

Batch & Shell
gelöst Batch für File extension überprüfung und listenerstellungmit Zeit und Datum (2)

Frage von watch123 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...