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

Ergebnis einer Suche mit dir und find mit copy kopieren

Frage Entwicklung Batch & Shell

Mitglied: 94erBrom

94erBrom (Level 1) - Jetzt verbinden

06.11.2013 um 16:00 Uhr, 1729 Aufrufe, 7 Kommentare

Hallo.
Ich habe hier ein Skript erstellt, dass jeweils die Log-Datei vom Vortag in einen anderen Ordner kopieren soll.
Diese soll dort dann mit dem Datum als Namen liegen.

@echo off & setlocal
set "Ordner=C:\mylogs\"
set "Ziel=F:\Log-Archiv\"
echo WScript.Echo DateAdd("d",-1, date())>%temp%\Gestern.vbs
for /f %%i in ('cscript //nologo %temp%\Gestern.vbs') do set "Gestern=%%i"
del %temp%\Gestern.vbs
echo Gestern: %Gestern%
echo Dateien:
cd %Ordner%
dir content*.log |find "%Gestern%" |copy "%Ordner%" "%Ziel"\%Gestern%.log"

Nun erhalte ich jedoch die Ausgabe, dass das System die Datei nicht finden kann.
Da läuft wohl irgend etwas bei der Pipe zwischen find und copy schief.

Freue mich auf schnelle Hilfe.
LG 94erBrom
Mitglied: Snowman25
06.11.2013 um 16:11 Uhr
Hallo 94erBrom,
Zitat von 94erBrom:
Nun erhalte ich jedoch die Ausgabe, dass das System die Datei nicht finden kann.
Da läuft wohl irgend etwas bei der Pipe zwischen find und copy schief.

Uhm.. ja durchaus. Wie stellst du dir das vor, was da passieren soll? Diese Verkettung hat leider keinen Sinn..

Gruß,
Snowman25
Bitte warten ..
Mitglied: 94erBrom
06.11.2013, aktualisiert um 16:22 Uhr
Die Verkettung dir content*.log |find "%Gestern%" liefert als Ergebnis die Log-Datei vom Vortag, für heute wäre das das Log vom 05.11.2013 mit dem Namen contentThu.log.
Die Verkettung dir content*.log |find "%Gestern%" funktioniert in cmd auch korrekt.
Diese Datei soll nun in den Ordner F:\Log-Archiv unter dem Namen 05.11.2013.log kopiert werden.
Wie bekomme ich das hin?
Per Pipe geht das ja wohl nicht.
Ich nehme mal an, mit einer For-Schleife?
Hilfe!!!
Bitte warten ..
Mitglied: Snowman25
06.11.2013, aktualisiert um 18:06 Uhr
Dein Output nach find wird in etwa so aussehen:
05.11.2013  14:44        18.499.537 contentXYZ.log
Um da jetzt nur den Dateinamen herauszubekommen, brauchst du eine FOR-Schleife:
for /F "tokens=3*" %a IN ('dir content*.log^|find "%Gestern%"') do [...]
Der Dateiname liegt dann in %b.

Im Endeffekt also:
01.
for /F "tokens=3" %a IN ('dir content*.log^|find "%Gestern%"') do copy %b "%Ziel%\%Gestern%.log"
Gruß,
Snowman25

PS: Nicht vergessen! In Batch-Dateien musst du %a und %b mit 2 %% schreiben! Also %%a und %%b.
Bitte warten ..
Mitglied: 94erBrom
08.11.2013 um 08:34 Uhr
Hi.
Zunächst mal danke für die schnelle Hilfe.
Habe die letzte Zeile in der .bat-Datei jetzt in
for /F "tokens=3" %%a IN ('dir content*.log^|find "%Gestern%"') do copy %%b "%Ziel%\%Gestern%.log"
geändert.
Allerdings bekomme ich nun folgende Fehlermeldung:
Gestern: 05.11.2013
Dateien:
Datei nicht gefunden
Habe jedoch, um die alten Dateien von den letzten Versuchen benutzen zu können, das Datum im System auf den 06.11.13 geändert.
Dem entsprechend findet der Befehl
dir content*.log^|find "%Gestern%"
05.11.2013 15:22 10 contentThu.log

Was mache ich noch falsch?
Ich fürchte, dass ich einfach nur eine deiner Anweisungen übersehen oder missinterpretiert habe.

LG 94erBrom
Bitte warten ..
Mitglied: andimue
08.11.2013 um 13:27 Uhr
Hallo zusammen,

wieso macht ihr es euch so schwer: ihr könnt doch statt dem "dir content*.log" einen "dir /b content*.log" machen. Dann bekommt ihr nur die Dateinamen zurück ohne Vorlauf- und Nachlaufinfo und müsst auch nicht umständlich den Dateinamen aus der Zeile rausfisseln.
Aufpassen muss man noch, wenn der Dateinamen Blanks enthält !

Gruß
Andi
Bitte warten ..
Mitglied: 94erBrom
08.11.2013 um 14:23 Uhr
for /F "tokens=4,*" %%a IN ('dir %Ordner%content*.log^|find "%Gestern%"') do copy %Ordner%%%a "%Ziel%%Gestern%.log"
scheint nun zu funktionieren. Anscheinend war die Reihenfolge beim dir-Befehl falsch.
Bitte warten ..
Mitglied: Snowman25
13.11.2013 um 10:34 Uhr
Zitat von andimue:
wieso macht ihr es euch so schwer: ihr könnt doch statt dem "dir content*.log" einen "dir /b
content*.log" machen.

Könnten schon, aber dann kann man nicht mehr nach dem Änderungsdatum parsen, welcher im dir content*.log mit angezeigt wird.
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Outlook Suche liefert kein Ergebnise mehr
Frage von Bjoern-BOutlook & Mail9 Kommentare

Hallo Zusammen, wir haben einen User, bei dem die Suche in Outlook keine Ergebnisse mehr liefert. Im Detail, der ...

Batch & Shell
CMD: String finden und kopieren
gelöst Frage von SKBadoxBatch & Shell2 Kommentare

Hallo zusammen, ich hätte da mal eine Frage :) Gibt es eine Möglichkeit durch eine Batch Datei eine .txt ...

Batch & Shell
Batch Programm Copy soll unbekannten quellort kopieren
gelöst Frage von TicoWriteBatch & Shell35 Kommentare

Hallo zusammen ich habe folgendes system: Win7 Zu meinem Problem: Ich möchte gerne eine Datei von einem Unbekannten quellort ...

Microsoft Office
Excel Tabellenblatt finden und Zeile kopieren
gelöst Frage von Florian86Microsoft Office3 Kommentare

Hallo, ich möchte anhand von Buttons einen Zugang bzw. einen Abgang auf bestimmte Tabellenblätter kopieren. Die Tabellenblätter entsprechen der ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 11 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 11 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 14 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 19 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...