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

Dateinamen mit Leerzeichen mit xcopy in einer Variable kopieren

Frage Entwicklung Batch & Shell

Mitglied: chainsaw

chainsaw (Level 1) - Jetzt verbinden

13.03.2014 um 13:35 Uhr, 3734 Aufrufe, 8 Kommentare, 1 Danke

Hallo Gemeinde,

Für euch bestimmt ein banales Problem:

Ich möchte mit folgendem Script aus einem bestimmten Ordner alle Dateien mit einer
bestimmten Dateiendung (alles als Variablen definiert) auch aus Unterordnern kopieren.

Das funktioniert soweit prima. Bis zu der Stelle an der Leerzeichen im Dateinamen
oder in Ordnernamen auftauchen. Das mag xcopy nicht.

Meins Script sieht so aus:

01.
@echo off & setlocal 
02.
 
03.
SET /p que=Bitte Quelle angeben (ganzen Pfad): 
04.
SET /p zie=Bitte Ziel angeben (ganzen Pfad): 
05.
Set /p dat=Bitte Dateiendung angeben (Bsp: pdf, jpg): 
06.
 
07.
for /f %%f in ('dir /b /s %que%\*.%dat%') do xcopy %%f %zie%  
08.
explorer %zie% 
09.
 
Mit dem setzen von Anführungszeichen komme ich nicht weiter - vielleicht setze ich die auch an der
falschen Stelle: "%que%" und "%dat%" führt nicht zum Ergebnis.

Könnt ihr mit hier weiterhelfen?
Danke und Gruß
Chainsaw
Mitglied: emeriks
13.03.2014 um 13:43 Uhr
ja, falsche Stelle
xcopy "%%f" "%zie%"

01.
@echo off & setlocal 
02.
 
03.
SET /p que=Bitte Quelle angeben (ganzen Pfad): 
04.
SET /p zie=Bitte Ziel angeben (ganzen Pfad): 
05.
Set /p dat=Bitte Dateiendung angeben (Bsp: pdf, jpg): 
06.
 
07.
for /f %%f in ('dir /b /s %que%\*.%dat%') do xcopy "%%f" "%zie%"  
08.
explorer "%zie%" 
09.
 
E.
Bitte warten ..
Mitglied: chainsaw
13.03.2014 um 13:51 Uhr
Hallo emeriks,

Danke für die schnelle Antwort.

Haut aber nicht hin. Noch eine Idee?

Gruß chainsaw
Bitte warten ..
Mitglied: emeriks
13.03.2014 um 13:55 Uhr
Nimm mal das "echo off" raus. Dann werden die produzierten XCOPY-Befehle ausgegeben und Du kannst sie lesen. Vielleicht siehst Du dann den Wald ...

E.
Bitte warten ..
Mitglied: chainsaw
13.03.2014 um 14:07 Uhr
Hallo emeriks,

ich kann den Wald (noch) nicht erkennen...

Das wird ausgegeben:

D:\batch\012_Dateien_aus_Unterverzeichnissen_zusammenführen>xcopy "D:\004_Datenrename\Kueche" "c:\test"
Datei Kueche nicht gefunden
0 Datei(en) kopiert

Der Batch zeigt nicht den gesamten Pfad an:

Statt: "D:\004_Datenrename\Kueche Wohnkultur" gibt xcopy nur "D:\004_Datenrename\Kueche" aus...

Jetzt ess ich erst mal eine Leberkässemmel... vielleicht werde ich da erleuchtet!


Gruß chainsaw
Bitte warten ..
Mitglied: chainsaw
13.03.2014 um 14:58 Uhr
Hallo,

der Leberkäse hat nicht geholfen

Noch jemand eine Idee?

Gruß chainsaw
Bitte warten ..
Mitglied: MrNetman
13.03.2014, aktualisiert um 23:35 Uhr
z.B: echo %que%
zur Kontrolle der Eingabe und der Variablen

Wenn du statt dir /b "%que%"
dir "%que%" /b
eingibst, dann ist das Ergebnis anders. Aber nur bei dir.
Und Groß- und Kleinschreibung haben beim Pfad einen Einfluss.
Bitte warten ..
Mitglied: bastla
LÖSUNG 13.03.2014, aktualisiert 23.03.2014
Hallo chainsaw!

Versuch es mit dieser Zeile:
for /f "delims=" %%f in ('dir /b /s "%que%\*.%dat%"') do xcopy "%%f" "%zie%\"
Grüße
bastla
Bitte warten ..
Mitglied: chainsaw
23.03.2014 um 23:02 Uhr
Hallo bastla,

sorry lieber spät als nie: Deine Lösung haut hin! Klasse vielen Dank!

Gruß chainsaw
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...