robertoumberto
Goto Top

Datei in variable Ordner kopieren

hallo erstmal,

bräuchte euer Fachwissen um folgendes Problem zu lösen:

möchte gerne 1 Datei in beliebig viele Unterordner die vom Namen her nicht immer gleich sind kopieren:

sprich:

datei xy.xml

soll in jeden verfügbaren ordner kopiert werden : zb. ordner1001 + ordner 1012 + ordner 1017 + ordner 1035

die Ziel ordner fangen immer gleich an nur das ende wird duch ein update unterschiedlich generiert.

Was natürlich auch eine Möglichkeit wäre die xml datei immer nur in den zuletzt angelegten Order zu kopieren, natürlich per batch datei so das man das nicht immer manuell machen muss.

danke erstmal für die hilfe und denkansätze

Content-ID: 102021

Url: https://administrator.de/contentid/102021

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

MegaTraveller
MegaTraveller 17.11.2008 um 16:49:50 Uhr
Goto Top
Hi Robertoumberto,

Ungeprüft würde ich sagen:

FOR /D /r %%G in ("ordner*") DO copy xy.xml %%G

das mit in ("ordner*") kannst Du natürlich auch gegen einfachen * ersetzen. Schau Dir vielleicht als Erklärung das hier an.

Bye
MegaTraveller
Biber
Biber 17.11.2008 um 16:58:17 Uhr
Goto Top
Moin robertoumberto,

willkommen im Forum.

unter der Annahme, dass alle "ordner1xxx" auf einer Ebene unterhalb des Orders x:\Root sind:

Variante a) in alle Ordner
[vom CMD-Prompt]
For /d %i in (X:\Root\ordner*) do copy q:\quelle\xy.xml "%i\" >Nul  

Variante b) nur in den "neuesten" Ordner.
for /f "delims=" %i in ('dir /Ad /b /od /tc X:\root\ordner*') do set "Newest=%i"  
Copy q:\quelle\xy.xml "X:\root\%newest%\" >nul  

Im Batch jeweils zwei %-Zeichen vor den Laufvariablen statt einem Prozentzeichen.

Hilfe zu FOR /D und FOR /F mit FOR /?; Hilfe zu DIR mit DIR /?

Grüße
Biber
[Edit] Ziel-Rootordner beim Copy-Befehl Variante b) ergänzt. Thx bastla. [/Edit]
bastla
bastla 17.11.2008 um 17:02:50 Uhr
Goto Top
@MegaTraveller
Da hast Du aber "jeden verfügbaren Ordner" ziemlich ernst genommen face-wink - vielleicht genügt auch nur eine Ordnerebene:
FOR /D %%G in ("D:\Basisordner\ordner*") DO copy xy.xml %%G >nul
Soll tatsächlich nur in den neuesten Ordner kopiert werden, dann etwa so:
@echo off & setlocal
set "Basis=D:\Basisordner"  
for /f "delims=" %%i in ('dir "%Basis%\ordner*" /b /od /ad') do set "Neuester=%%i"  
copy xy.xml "%Basis%\%Neuester%\" >nul  
Grüße
bastla

[Edit]
@Biber: Hatte Dich gar nicht gesehen (und immer langsamer werde ich auch noch) ...
Beim "copy" wirst Du aber auch den "Parent"-Ordner angeben müssen.
[/Edit]