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, 3653 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...