Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

Batch für Ordner des Vortages

Frage Entwicklung Batch & Shell

Mitglied: Tonibert

Tonibert (Level 1) - Jetzt verbinden

21.02.2011, aktualisiert 18.10.2012, 2975 Aufrufe, 11 Kommentare

Hallo Forum,

ich versuche von einem Netzlaufwerk ( O: )eine Datei zu kopieren.

Die Datei liegt in einem Ordner der immer nach JJJJMMTT benannt ist.
Ich möchte immer aus dem Ordner von gestern eine Datei test.txt auf ein anderes Laufwerk kopieren!

Leider fehlt mir komplett der Ansatz zur Ordnersuche etc.

Die Hilfe konnte meine Fragen leider auch nicht beantworten!

Bedanke mich schon mal für eure Hilfe!

Toni
Mitglied: bastla
21.02.2011, aktualisiert 18.10.2012
Hallo Tonibert!

In diesem Thread findest Du einen Ansatz für das Ermitteln des gestrigen Datums durch ein in den Batch integriertes VBScript, und eine globale Suche auf dem Laufwerk O: (warum ist es überhaupt erforderlich, das gesamte Laufwerk zu durchsuchen?) nach einem bestimmten Ordner ginge in einem Batch etwa so:
for /f "delims=" %%i in ('dir /s /b /ad "O:\%Ordnername%"') do set "Ordnerpfad=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: Tonibert
21.02.2011 um 09:07 Uhr
Hallo Bastla und erstmal Danke für deine Zeit und Mühe,

Zur Erklärung:

Unter O:

werden täglich Ordner erstellt nach folgendem Format

20110218
20110219
20110220

und in jedem Ordner liegt jeweils meine Datei test.txt die ich mir kopieren muss/will.

Leider bin ich in Batch der totale Anfänger...Sorry
Bitte warten ..
Mitglied: bastla
21.02.2011 um 09:39 Uhr
Hallo Tonibert!

Wenn der Ordner nicht erst gesucht werden muss (sondern zB unmittelbar auf "O:\" liegt), könntest Du auch einfach den jüngsten Ordner, dessen Name zB mit "201" beginnt (funktioniert dann aber nur bis zum Jahr 2019 ), verwenden - etwa so:
01.
@echo off & setlocal 
02.
set "Ordnerpfad=" 
03.
for /d %%i in (O:\201*) do set "Ordnerpfad=%%~fi" 
04.
echo Zu kopierende Datei: "%Ordnerpfad%\test.txt"
Grüße
bastla
Bitte warten ..
Mitglied: Tonibert
21.02.2011 um 12:02 Uhr
OK ich fange an zu verstehen..und das möchte ich ja eben auch =)

Ich weise meiner Variblen "Ordnerpfad" den Wert zu, nachdem ich mittels

"for /d %%i in (O:\201*) do set "Ordnerpfad=%%~fi" "

den Pfad gefunden habe.Richtig?

Leider wird immer erst in der Nacht um 1 eine Datei in den Ordner von gestern geschrieben(also am 21.2.2011 um 1 Uhr nachts wird eine Datei in den Ordner 20112020 geschrieben), daher benötige ich eben immer Datei von gestern!
Bitte warten ..
Mitglied: bastla
21.02.2011 um 12:33 Uhr
Hallo Tonibert!

Eigentlich hatte ich vorhin (= bevor ich leider abgelenkt wurde ) zu folgender Variante raten wollen:
01.
@echo off & setlocal 
02.
set "Ordnerpfad=" 
03.
for /f "delims=" %%i in ('dir /b /ad /on O:\201* 2^>nul') do set "Ordnerpfad=O:\%%i" 
04.
if defined Ordnerpfad (echo Zu kopierende Datei: "%Ordnerpfad%\test.txt") else (echo Kein Ordner gefunden!)
- dadurch wird nämlich der (anhand des Namens sortierte) neueste Ordner gefunden ...

Grüße
bastla

[Edit] Anführungszeichen in Zeile 3 korrigiert [/Edit]
Bitte warten ..
Mitglied: Tonibert
22.02.2011 um 11:24 Uhr
Hallo bastla,

leider bekomme ich keine Ausgabe mit dem Quellcode! =(
Bitte warten ..
Mitglied: bastla
22.02.2011 um 11:30 Uhr
Hallo Tonibert!

Versuch es mit der korrigierten Version noch mal ...

Grüße
bastla
Bitte warten ..
Mitglied: Tonibert
22.02.2011 um 13:07 Uhr
Hallo und Danke auch an Biber!

Jetzt bekomme ich eine Ausgabe!

Problem: Die test.txt hat jeweils noch das Datum im Namen stehen und das benötige ich ja zum kopieren auch noch.

Die Datei (oder die Variable) müsste also so aussehen


O:\20110220\20110220_test.txt


Habt ihr dafür auch noch eine Lösung?

Vielen,vielen Dank!
Bitte warten ..
Mitglied: bastla
22.02.2011 um 13:15 Uhr
Hallo Tonibert!

Naja, wenn es mehr als eine Datei gibt, musst Du tatsächlich den Namen kennen - sonst würde auch ein
01.
... copy "%Ordnerpfad%\*_test.txt" "D:\Zielordner\"
genügen.

Wenn andererseits das Datum dem Ordnernamen entspricht, ginge das etwa so:
01.
@echo off & setlocal 
02.
set "Datum=" 
03.
for /f "delims=" %%i in ('dir /b /ad /on O:\201* 2^>nul') do set "Datum=%%i" 
04.
if defined Datum (echo Zu kopierende Datei: "O:\%Datum%\%Datum%_test.txt") else (echo Kein Ordner gefunden!)
Grüße
bastla
Bitte warten ..
Mitglied: Tonibert
22.02.2011 um 15:10 Uhr
Hallo Bastla,

SUPER!!!!!!!

Es funktioniert! Zur Vollständigkeit "meine" bat


@echo off & setlocal

set "Datum="


for /f "delims=" %%i in ('dir /b /ad /on O:\201* 2^>nul') do set "Datum=%%i"
if defined Datum (echo Zu kopierende Datei: "O:\%Datum%\%Datum%_test.txt") else (echo Kein Ordner gefunden!)

xcopy /E /S /Y O:\%Datum%\%Datum%_test.txt C:\99_20110220


Vielen Dank für deine Hilfe!
Bitte warten ..
Mitglied: Tonibert
25.02.2011 um 08:29 Uhr
Hallo Zusammen,

leider habe ich nun doch noch ein Problem!


Meine Ordner heißen immer wie das Datum z.B.


20110225 JJJJMMTT

aber meine Datein heißen leider so

110225_test.txt
JJMMTT


Habt ihr dafür auch noch eine Lösung???

Vielen Dank

Toni
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch xkopie von Ordner in Ordner (3)

Frage von TicTakTeo zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit Batch Datei nach Ordner benennen indem sie sich befindet? (4)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
gelöst Eine Batch zum Sortieren verschiedener Dateien in Ordner (16)

Frage von Jaglag zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch, die Ordner erstellt und Berechtigungen setzt (12)

Frage von lordofremixes zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (27)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...