Batch: Datei kopieren mit Leerzeichen im Pfad?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Versuch das mal:

for /f "tokens=1* delims=" %i in ("c:\neu\liste.txt") do @robocopy "%~i" "c:\neu"

Damit werden die Zeilen komplett ausgelesen, diese Dateinamen werden dann als %i übergeben und "%~i" entfernt ggf. vorhandene umschließende Anführungszeichen, um dann eindeutige Neue hinzuzufügen.

Es ist an der Befehlszeile immer ratsam, bei Datei-/Ordner-/Pfadnamen umschließende Anführungszeichen zu verwenden. So gibt es keine Missverständnisse.

besten Dank, das funktioniert so :)

Weißt du auch wie ich den Dateiname (der kopierten Datei) erweitern kann um bspw eine fortlaufende Nummer?

0
@lisa272

Das ist mit Batch etwas umständlich:

entweder

for /L %C in (1,1,100) do (
set counter=0000%~C
set counter=%counter:~-4%
set myFile=File%counter%.txt
)

oder

set /a counter=0
for /R "." %F in (*) do (
set /a counter+=1
set myFile=0000%counter%
set myFile=File%myFile:~-4%.txt
)

In beiden Fällen wird eine fortlaufende 4-stellige Zahl mit führenden Nullen, beginnend mit "1" erzeugt und diese als Teil des Dateinamen benutzt: "File0001.txt", "File0002.txt", usw.

Außerdem kann dann jeweils der Dateiname als Variable genutzt werden, der dann universell eingesetzt werden kann.

Im ersten Beispiel Zählt die FOR-Schleife die fortlaufende Nummer (bis 100). Im zweiten Beispiel werden durch die FOR-Schleife alle Dateien rekursiv aufgelistet und für jede Datei wird eine Zahl weiter gezählt. Hier könntest Du auch z.B. "File" mit "%~F" ersetzen.

Beim Verwenden der Variable %myFile% musst Du diese dann in Anführungszeichen setzen.

0

setz den kompletten Pfad in " "    also "C:\....."

dann gehts.

habe ich bereits versucht, er kommt dennoch nicht weiter als Program..

1
@lisa272

oh hab ich übersehen, sry.

setz das 2. " mal vor dem dateinamen.

0
@Maisbaer78

also so:

"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\plug_ins\Annotations\Stamps\DEU\"SignHere.pdf

0
@Maisbaer78

also hab mir die RC-Syntax nochmal angeschaut. Wenn du explizit eine Datei angeben willst, dann erst die Quelle ...dann das Ziel und anschliessend die Datei angeben.  das sollte klappen

lustiger Weise habe ich festgestellt, dass beim Auswählen des Zielverzeichnisses die Methode " " nicht funktioniert. Beim Quellverzeichnis aber schon.

also in deinem Falle wäre die Syntax so:

Robocoy "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\plug_ins\Annotations\Stamps\DEU\" "C:\Neu\" SignHere.pdf

0
@Maisbaer78

ah ich hab den Fehler gefunden.....

robocopy "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\plug_ins\Annotations\Stamps\DEU" "C:\neu" SignHere.pdf

lass die abschliessenden Backslashs nach der Quell und Zielverzeichnissangabe weg, dann gehts..

0

Wie kopiere ich einen Ordner auf einen Stick mit Batch?

Hi, Meine Frage ist wie ich einen Ordner sammt unterordnern usw automatisch mit einer Batchdatei auf meien USB stick kopieren kann

...zur Frage

Mit batch aus unterordner in Vorherigen kopieren?

Hallo leute ich versuch schon lange eine lösung zu finden wie ich mit batch aus einem unterordner in den vorherigen ordner kopieren kann mit einer batchdatei die im diesem vorherigen ordner gestartet wurde bitte helfen.

...zur Frage

Gimp Pfade verschwunden

Ich habe gestern angefangen eine Karte zu machen und dabei natürlich auch mit Pfaden gearbeitet. Als ich sie heute wieder aufrufen wollte in Gimp waren plötzlich die Pfade verschwunden (jedenfalls wurden keine vorhandenen Pfade angezeigt). Weiß jemand wie es dazu kommen konnte? Ich hab die Datei übrigens als psd abgespeichert.

...zur Frage

VISUAL BASIC Pfad vervollständigen?

Hey Leute,

ich möchte mit einem Programm eine Datei in mehrere Ordner verschieben/kopieren. Das ganze klappt auch. Nur muss ich die Pfade manuell (alle relativ gleich) angeben. Ein Pfad sieht so aus Ordner/23432/local^ Also zwischen Ordner & local ist bei jedem Pfad eine unterschiedliche zahl..

Ich habe das ganze momentan so :

Dim ofDialog As New OpenFileDialog
            If ofDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
               
File.Copy(ofDialog.FileName, Path.Combine("Ordner/23432/local", Path.GetFileName(ofDialog.FileName)))
    
File.Copy(ofDialog.FileName, Path.Combine("Ordner/23432/local", Path.GetFileName(ofDialog.FileName)))

ich möchte dass das Programm die Datei die ich verschieben möchte immer in den Local Ordner rein verschiebt. Ist es denn möglich das Programm den Pfad zu vervollständigen lassen so das ich die Zahlen Ordner/23432/local nicht angeben muss sondern das Programm das ganze eigenständig macht?

...zur Frage

Win 10: CMD Datei öffnet sich ständig und schreibt:?

FINDSTR: c:\ProgramData\acer\updater2\updater2.xml kann nicht geöffnet werden. Das System kann den angegebenen Pfad nicht finden. Auf die Datei C:\Program Files\DriverSetupUtility\FUB\+ kann nicht zugegriffen werden. FINDSTR: c:\ProgramData\packard bell\updater2\updater2.xml kann nicht geöffnet werden. Das System kann den angegebenen Pfad nicht finden. Auf die Datei C:\Program Files\DriverSetupUtility\FUB\+ kann nicht zugegriffen werden. FINDSTR: c:\ProgramData\gateway\updater2\updater2.xml kann nicht geöffnet werden. Das System kann den angegebenen Pfad nicht finden. Auf die Datei C:\Program Files\DriverSetupUtility\FUB\+ kann nicht zugegriffen werden. FINDSTR: c:\ProgramData\founder\updater2\updater2.xml kann nicht geöffnet werden. Das System kann den angegebenen Pfad nicht finden. Auf die Datei C:\Program Files\DriverSetupUtility\FUB\+ kann nicht zugegriffen werden.

...zur Frage

Was möchtest Du wissen?