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

Tägliche Kopie mittles Batchdatei

Frage Entwicklung Batch & Shell

Mitglied: philodendron

philodendron (Level 1) - Jetzt verbinden

26.03.2013 um 08:53 Uhr, 3492 Aufrufe, 30 Kommentare, 1 Danke

Ich will einmal täglich eine Kopie einer Datei (Dateiname bleibt gleich) aus einem täglich neu erstellten Ordner (Name ist das Datumn dieser Form: YYYYMMDD)mit Hilfe einer Batchdatei machen.

Hallo liebes Forum...

Wie schon im Vorwort erwähnt versuche ich, täglich eine Kopie einer Datei (Datenbankauszug - Dateiname bleibt immer gleich)zu erstellen.

Diese Datei wird jeden Tag in automatisch in einem neuen Ordner aktualisiert abgelegt.
Aus diesem Ordner möchte ich die Datei einmal täglich ein ein temporäres Verzeichnis kopieren.

Der Ordner hat folgenden Namen und Form "YYYYMMDD_HHMMSS"
Das Datum vor dem underscore krieg ich noch hin (aktuelles Datum - für ganze Tag).
Jedoch bei den Stunden, Minuten und Sekunden (hinter underscore) tue ich mir schwer, da diese Zeit ja nicht mehr aktuell ist.

Nun dachte ich an eine Wildcard bzw Regex um den beliebigen Zahlenwert (6-stellig) zu filtern, da die Ablage nicht immer zum exakt gleichen Zeitpunkt erfolgt und somit immer irgendeine 6stellige Zahl ist.

Anbei mal meine Batch der grundsätzlich funktioniert aber leider nur bis zum underscore...


@echo off &setlocal
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
set "ZielOrdner=C:\TEMP\Intranet"
set "DateiMaske=*SFBFIR016.txt*"


set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set "OrdnerMaske=%jahr%%tag%%monat%"

set "QuellOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_"
for /d /r "%StartOrdner%" %%i in (*.*) do if not defined QuellOrdner if "%%~nxi" equ "%OrdnerMaske%" set "QuellOrdner=%%~i"
if not defined QuellOrdner echo Ordner %OrdnerMaske% nicht gefunden&goto:eof
copy "%QuellOrdner%\%DateiMaske%" "%ZielOrdner%"
endlocal


Genau für diese Zeile benötige ich einen Ausdruck der mir nach dem underscore jeder beliebige 6-stellige Zahl übernimmt:
set "QuellOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_"

Da ich schon seit langem Suche bzw nicht sicher bin ob das mit Regex überhaupt funktioniert oder wie ich es einbetten soll, wäre ich für jede Hilfe/Anmerkung sehr dankbar.

Liebe Grüsse

Philipp
30 Antworten
Mitglied: andimue
26.03.2013 um 09:50 Uhr
Hallo philodendron,

wenn du ein Betriebssystem hast, das den Befehl forfiles kennt solltest du dir den mal anschauen.
Der Befehl kennt einen Parameter /D
Damit kannst du mit folgendem Befehl alle Dateien und Verzeichnis ausgeben lassen, die z.B. seit heute modifiziert wurden :

01.
forfiles  /D %date%  /P "%QuellOrdner%"
Gruß
Andi
Bitte warten ..
Mitglied: Endoro
26.03.2013 um 10:04 Uhr
Hallo Philipp,

pack doch einfach ein Sternchen vor/nach den Unterstrich und füge das als Suchmuster in die Schleife ein.


bb
Bitte warten ..
Mitglied: ticuta1
26.03.2013 um 10:05 Uhr
Hallo Philipp,

Zitat von philodendron:
Hallo liebes Forum...

Wie schon im Vorwort erwähnt versuche ich, täglich eine Kopie einer Datei (Datenbankauszug - Dateiname bleibt immer
gleich)zu erstellen.


wenn nur eine Kopie istd die Uhrzeit im dateiname irelevant und du könntest die Uhrzeit einfach fallen lassen

Falls Interesse an Dateierstellungszeit vorhanden, die werden so wie so mit der Erschafung der neuen Datei in den Eigenschaften eingetragen.

Damit die ganze Benennung YYYYMMDD_HHMMSS angewendet werden kann, sollst du einfach als Variable(Set) festdefinieren

LG,
Ticuta1
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 10:23 Uhr
Hi Andi

Ja hab ich und werd ich mir gleich mal anschaun ;)
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 10:26 Uhr
@mfm4aa

Hab ich schon probiert, dass ich nach dem underline eine sternchen einfüge aber dann übernimmt der das nicht für ne x-beliebige zahl..

Der Ordner der jeden ag erstellt wird sieht zb so aus: 20130326_050529

Das Datum vor dem underline finde ich aber das nach dem underline würd ich gerne mit nem platzhalter lösen und das sternchen bzw [0-999999] etc funkt leider nicht
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 10:30 Uhr
Grundsätzlich bin ich da voll bei dir...
Das Problem ist aber der Ordner der erstellt wird und in dem die Datei zu Beginn abgelegt wird (von dem aus ich das kopieren will)...
Dieser sieht wie folgt aus: 20130326_050529

Das Datum vorm underline is nicht das Problem da es ja den ganzen Tag aktuell bleibt und somit auch den ganzen Tag findet.
Da die Zeit nachdem underline (HHMMSS)klarerweise nicht mehr aktuell ist da schon wieder Zeit vergangen ist weiss ich nicht weiter...
Bitte warten ..
Mitglied: Endoro
26.03.2013 um 10:45 Uhr
Hallo Philipp,

geht doch prima mit 'nem Sternchen:
01.
C:\>md %date%_050529 
02.
 
03.
C:\>dir /ad %date%*
Output:
01.
26.03.2013  10:41    <DIR>          26.03.2013_050529

bb
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 11:05 Uhr
set "QuellOrdner=\\nas03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%*"

set "DateiMaske=*SFBFIR016.txt*" (Dateiname nach dem gesucht wird)

Das hab ich jetz eingefügt...



Das ist die Datei nach der gesucht wird...

Nach dem ~0,2% hab ich ein Sternchen eingefügt...

Nun kommt folgende Fehlermeldung:

C:\Users\fb0320\Desktop>tagessicherung_sfbfir016.bat
\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\20130326*\*SFBFIR016.txt*
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
ist falsch.
0 Datei(en) kopiert.
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 11:06 Uhr
ich überseh irgendwas
Bitte warten ..
Mitglied: bastla
26.03.2013 um 11:22 Uhr
Hallo philodendron und willkommen im Forum!
ich überseh irgendwas
Ich seh auch nur noch Sterne - oder jedenfalls zu viele davon ...

Also jetzt noch mal ganz genau: Wo liegt denn die Datei "SFBFIR016.txt"? Wenn unmittelbar in "\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\20130326*" sollte sich das Kopieren doch (ungetestet) so machen lassen:
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\%DateiMaske%" "%ZielOrdner%"
Alternativ kannst Du natürlich auch zuerst den Quellordner in die entsprechende Variable packen und den auf die selbe Art ermitteln:
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do set "Quellordner=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: ticuta1
26.03.2013 um 11:26 Uhr
Hallo philodendron,

schau mal diese einleitung...http://www.heisig-it.de/batch.htm vielleicht hilft bei der Lösungsuche.
LG,
ticuta1
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 11:31 Uhr
super ich spiel mich mal und melde mich ;)
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 11:32 Uhr
@ticuta1

danke schau ich mir auch gleich mal an
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 11:44 Uhr
@bastla

der genau pfad der datei ist für heute:

\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\20130326_050521\01\SFBFIR016.txt

so ich hab den ersten string mal probiert

so sieht meine batch-datei aus:

@echo off &setlocal
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
set "ZielOrdner=C:\TEMP\Intranet"
set "DateiMaske=*SFBFIR016.txt*"


set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set "OrdnerMaske=%jahr%%tag%%monat%"

for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*\01") do copy "%%i\%DateiMaske%" "%ZielOrdner%"

wenn ich diese datei im cmd ausführe bekomme ich garkeine fehlermeldung aber im zielordner ist auch nix
Bitte warten ..
Mitglied: bastla
26.03.2013, aktualisiert um 12:01 Uhr
Hallo philodendron!

Bitte verwende zum Posten von Code die passende Formatierung.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*\01") do copy "%%i\%DateiMaske%" "%ZielOrdner%"
In meinem Beispiel gab es aber kein "\01" am Ende des Pfades ...

Grüße
bastla
Bitte warten ..
Mitglied: leknilk0815
26.03.2013, aktualisiert um 12:21 Uhr
Sorry wenn ich mich einmische - aber warum verwendet ihr einen Pfad zum testen, bei dem die Fehler bereits vorprogrammiert sind?
Für sowas erstelle ich mir ein Verzeichnis c:\tmp und kann darin rumwursteln.
Wenn die Batch funktioniert, kann man den Pfad mit dem "echten" erweitern...

Ich hab übrigens auch etwas rumgemurkst - wenn man irgendwie das Ergebnis von "dir /b 20130326_*" in eine Variable bringen könnte, käme man weiter. Aber das bring ich einfach nicht hin...
Bitte warten ..
Mitglied: Endoro
26.03.2013 um 12:35 Uhr
Zitat von leknilk0815:
Ich hab übrigens auch etwas rumgemurkst - wenn man irgendwie das Ergebnis von "dir /b 20130326_*" in eine Variable
bringen könnte, käme man weiter. Aber das bring ich einfach nicht hin...

Hallo leknilk0815,

das geht ja mit einer for Schleife:

01.
for /f "delims=" %%i in ('dir /ad /b 20130326_*') do set "Ordner=%%i"

bb
Bitte warten ..
Mitglied: leknilk0815
26.03.2013, aktualisiert 28.03.2013
Danke!

dann probier mal das hier aus:
01.
@for /F "tokens=1,2,3,4,5 delims=. " %%a in ('date /t') do set jahrdat=%%c 
02.
@for /F "tokens=1,2,3,4,5 delims=. " %%a in ('date /t') do set mondat=%%b 
03.
@for /F "tokens=1,2,3,4,5 delims=. " %%a in ('date /t') do set tagdat=%%a 
04.
@for /F "tokens=1,2,3,4,5 delims=. " %%a in ('time /t') do set mindat=%%a 
05.
pause 
06.
 
07.
set mindat=%mindat::=% 
08.
md %jahrdat%%mondat%%tagdat%_%mindat%00 
09.
 
10.
pause  
11.
echo %jahrdat%%mondat%%tagdat%_ 
12.
pause  
13.
dir /b %jahrdat%%mondat%%tagdat%_* 
14.
pause 
15.
for /f "delims=" %%i in ('dir /ad /b 20130326_*') do set "Ordner=%%i" 
16.
 
17.
pause 
18.
md %ordner%-test 
19.
pause
der "md" erzeugt hier ein (dummy)- Verzeichnis, damit man die Batch in einem leeren Test-Verzeichnis probieren kann.

Die Batch ist natürlich nicht fertig, aber vielleicht hilft der Denkansatz weiter...

Edit:
Wenn man dann noch:
01.
for /f "delims=" %%i in ('dir /ad /b 20130326_*') do set "Ordner=%%i" 
02.
ersetzt durch: 
03.
for /f "delims=" %%i in ('dir /ad /b %jahrdat%%mondat%%tagdat%_*') do set "Ordner=%%i"
kommt man der Sache schon näher...
Bitte warten ..
Mitglied: philodendron
26.03.2013 um 16:12 Uhr
@bastla

sorry der noob nochmal...

das was du da gschrieben hast kommt bvoll hin
wenn ich in der batchdatei das \01 dazu füge bekomm ich zwar keine fehlermeldung und er will auch einen copy befehl durchführen aber im zielordner find passiert nix

anbei die ausgabe mit echo aus der cmd:

C:\Users\fb0320\Desktop>test1.bat
ECHO ist eingeschaltet (ON).
C:\Users\fb0320\Desktop>set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
C:\Users\fb0320\Desktop>set "ZielOrdner=C:\TEMP\Intranet"
C:\Users\fb0320\Desktop>set "DateiMaske=*sfbfir016.txt*"
C:\Users\fb0320\Desktop>set jahr=2013
C:\Users\fb0320\Desktop>set monat=03
C:\Users\fb0320\Desktop>set tag=26
C:\Users\fb0320\Desktop>set "OrdnerMaske=20132603"
C:\Users\fb0320\Desktop>for / %i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\int
ranet\20130326_*\01") do copy "%i\*sfbfir016.txt*" "C:\TEMP\Intranet"


ich hab keinerlei erfahrung aber da kann doch nicht mehr viel falsch sein
Bitte warten ..
Mitglied: bastla
26.03.2013 um 17:59 Uhr
Hallo philodendron!
wenn ich in der batchdatei das \01 dazu füge ...
Und warum tust Du das?

Oben habe ich ja schon einmal gefragt, wo denn die Datei "SFBFIR016.txt" genau liegt (und bisher keine Antwort erhalten) - sollte es im Unterordner "01" sein, dann so:
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%
Grüße
bastla
Bitte warten ..
Mitglied: philodendron
27.03.2013, aktualisiert um 09:12 Uhr
Hi Bastla

Ich habe dir ungeschickterweise das /01 im pfad unterschlagen...

Sorry für die unnötige Mühe

Ich wollte das Ganze mal nur für den Ordner darüber sprich den:

\\nas03\efcom\p\datentraeger\sqlexport\intranet\20130327_050526


Nachdem das super funktioniert hat dank deines Strings, dachte ich dümmlicherweie, ich häng einfach das "\01" an den Pfad nach dem Platzhalter dran...

Wie ich allerdings erfahren hab geht das nicht


ABER:

Jetzt funktionierts mit der Dateimaske

Ich danke vielmals für die Lösung des Problems ;)
Bitte warten ..
Mitglied: bastla
27.03.2013 um 11:03 Uhr
Hallo philodendron!

Hinsichtlich der Wildcards (Platzhalter) gibt es eigentlich eine einfache Regel: Verwende sie nur im letzten Teil (nach dem letzten "\") eines Pfades ...

Grüße
bastla
Bitte warten ..
Mitglied: philodendron
27.03.2013 um 11:07 Uhr
Hi Bastla

Ist gespeichert ;)

LG Phil
Bitte warten ..
Mitglied: leknilk0815
27.03.2013 um 11:25 Uhr
Servus,
wäre es vielleicht möglich, das funktionierende Script hier einzustellen?
Ist vielleicht hilfreich, wenn man schnell ein Beispiel braucht, anstatt sich durch den Thread zu wühlen...

Danke und Gruß - Toni
Bitte warten ..
Mitglied: philodendron
28.03.2013 um 10:50 Uhr
ja klar...wie konnte ich nur ;)

@echo off &setlocal
rem Kopie Datei "sfbfir015.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
set "ZielOrdner=C:\TEMP\Intranet"
set "DateiMaske=*sfbfir015.txt*"
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set "OrdnerMaske=%jahr%%tag%%monat%"
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%"
rem Kopie Datei "sfbfir016.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
set "ZielOrdner=C:\TEMP\Intranet"
set "DateiMaske=*sfbfir016.txt*"
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set "OrdnerMaske=%jahr%%tag%%monat%"
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%"
rem Kopie Datei "sfbfir015.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 -> umbenannt in "zession_sfbfir015.txt"
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
set "ZielOrdner=C:\TEMP\Intranet"
set "DateiMaske=*sfbfir015.txt*"
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set "OrdnerMaske=%jahr%%tag%%monat%"
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%\Zession_SFBFIR015.txt"
rem Kopie Datei "sfbfir016.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 -> umbenannt in "zession_sfbfir016.txt"
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet"
set "ZielOrdner=C:\TEMP\Intranet"
set "DateiMaske=*sfbfir016.txt*"
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set "OrdnerMaske=%jahr%%tag%%monat%"
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%\Zession_SFBFIR016.txt"


Das Skript für nun vier Befehle aus...kann man sicher eleganter machen aber es funkt :D

Beim Auskommentierten (rem) steht immer was passiert
Bitte warten ..
Mitglied: leknilk0815
28.03.2013 um 10:56 Uhr
Danke!
Gruß - Toni
Bitte warten ..
Mitglied: bastla
28.03.2013, aktualisiert um 11:24 Uhr
Hallo philodendron (und auch leknilk0815)!

Darf ich nochmals auf die Formatierungsmöglichkeit für "Code" hinweisen? Außerdem: http://www.administrator.de/faq/32 ...

Etwas entschlackt sollte übrigens auch
01.
@echo off &setlocal 
02.
set "StartOrdner=\\NAS03\efcom\P\Datentraeger\SQLExport\intranet" 
03.
set "ZielOrdner=C:\TEMP\Intranet" 
04.
set jahr=%date:~-4% 
05.
set monat=%date:~-7,2% 
06.
set tag=%date:~-10,2% 
07.
set "OrdnerMaske=%jahr%%tag%%monat%" 
08.
 
09.
rem Kopie Datei "sfbfir015.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 
10.
set "DateiMaske=*sfbfir015.txt*" 
11.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%" 
12.
rem Kopie Datei "sfbfir015.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 -> umbenannt in "zession_sfbfir015.txt" 
13.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%\Zession_SFBFIR015.txt" 
14.
 
15.
rem Kopie Datei "sfbfir016.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 
16.
set "DateiMaske=*sfbfir016.txt*" 
17.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%" 
18.
rem Kopie Datei "sfbfir016.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 -> umbenannt in "zession_sfbfir016.txt" 
19.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%\Zession_SFBFIR016.txt"
genügen. Wenn übrigens der Dateiname mit zB "SFBFIR015.txt" ohnehin feststeht, kann er auch gleich als Dateimaske und zum Umbenennen verwendet werden (macht das Ganze etwas flexibler / leichter wartbar):
01.
rem Kopie Datei "sfbfir015.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 
02.
set "DateiMaske=SFBFIR015.txt" 
03.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%" 
04.
rem Kopie Datei "sfbfir015.txt" aus \\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\YYYYMMDD_(Platzhalter 6-stellige Zahl)\01 -> umbenannt in "zession_sfbfir015.txt" 
05.
for /d %%i in ("\\NAS03\efcom\P\Datentraeger\SQLExport\intranet\zession\%date:~6,4%%date:~3,2%%date:~0,2%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%\Zession_%Dateimaske%"
und da ja
%date:~6,4%%date:~3,2%%date:~0,2%
eigentlich die Ordnermaske ist (das wäre schließlich der Sinn dieser Variablen), ließe sich (zusammen mit der Verwendung von %StartOrdner%) weiter verkürzen auf:
for /d %%i in ("%StartOrdner%\zession\%Ordnermaske%_*") do copy "%%i\01\%DateiMaske%" "%ZielOrdner%\Zession_%Dateimaske%"
Grüße
bastla
Bitte warten ..
Mitglied: leknilk0815
28.03.2013, aktualisiert um 11:21 Uhr
Sorry, die Funktion habe ich als Menü vermisst, daher ohne.
Da das aber per Hand
01.
test
geht, werde ich das beherzigen.
Danke!

Zitat von bastla:
Das lässt sich auch nachträglich (oben) noch (durch "Bearbeiten") umsetzen ...

Erledigt!
Bitte warten ..
Mitglied: bastla
28.03.2013, aktualisiert um 11:22 Uhr
Hallo leknilk0815!

Das lässt sich auch nachträglich (oben) noch (durch "Bearbeiten") umsetzen ...

Grüße
bastla

[Edit] Danke [/Edit]
Bitte warten ..
Mitglied: philodendron
29.03.2013 um 13:16 Uhr
Hi Bastla

Vielen Dank für die Anmerkung...werds umbauen

LG
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Installation
gelöst 1:1 Kopie einer bootfähigen CF-Card mit Win embedded (7)

Frage von ben1310 zum Thema Windows Installation ...

Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Batch & Shell
gelöst In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen (2)

Frage von Hakiegold zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...