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

Batchdatei Pfad angeben. Aktuelle Datei?

Gibt es eine Möglichkeit, immer den Pfad anzugeben in dem sich die gerade ausgeführte Datei befindet? Also ich habe eine Datei auf dem Desktop, die sich selbst in "Dokumente" kopieren soll. Ich will aber nicht jedes mal den Pfad zum "Desktop" angeben müssen, da die Datei sich nicht immer dort befindet. Gibt es einen Befehl, der immer den Ordner der asführenden Datei als Pfad wählt?

...zur Frage

C#, Datei auf Desktop kopieren, umbenennen, ausführen?

Guten Tag,

Ich habe wirklich keine Ahnung mehr, was ich noch probieren könnte / was falsch ist:

// Datei + Ziel festlegen
string Name = "NoRecoil-R6S.exe";
string Path = Environment.SpecialFolder.Desktop.ToString();
string Stream = System.IO.Path.Combine(System.Windows.Forms.Application.StartupPath, "Resources");

// Auf Desktop kopieren
string File = System.IO.Path.Combine(Stream, Name);
string destFile = System.IO.Path.Combine(Path, Name);
System.IO.File.Copy(File, destFile, true);

// Umbenennen
if (System.IO.File.Exists(Path + code + ".exe"))
{
  System.IO.File.Move(destFile, Path + code + ".exe");
}
else
{
  MessageBox.Show("File does not exist on Desktop.");
}

// Starten
if (System.IO.File.Exists(Path + code + ".exe"))
{
  Process.Start(Path + code + ".exe");
}
else 
{
  MessageBox.Show("File does not exist on Desktop.");
}

this.Hide();

Der Fehler entsteht beim Schritt, wo er die Datei kopieren will. Hab ich da etwas am Pfad vertauscht? Ist irgendwie das einzig mögliche, oder? Habe die Pfade mehrmals überprüft und nie einen Fehler gefunden.

Fehler: Er findet die Datei auf dem Desktop nicht, obwohl er sie ja dahin kopieren sollte.

...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

Datei nach Editor-Bearbeitung komisch codiert. Hilfe?

ich habe eine Datei mit dem Editor bearbeitet. Ursprünglich sah sie wie auf Bild1 aus.

danach habe ich einfach ein zusätzliches Leerzeichen in 2 Wörtern eingefügt bei den Wörtern: C y b o t und D o c u m e n t s (siehe Bild2)

Danach habe ich gespeichert und neu geöffnet und raus kam auf einmal Bild3.

Kann mir jemand sagen was da passiert ist und wie ich das wieder rückgängig machen kann?

...zur Frage

Probleme mit Dateipfad von .JPG Dateien

Hallo zusammen,

ich wollte gerade die Urlaubsbilder auf den USB-Stick ziehen; klappt aber leider nicht da mir angezeigt wird das sich die entsprechende Datei nicht mehr unter dem Pfad befindet. Windows zeigt mir an das ich den Ort des Elements überpüfen soll.... . Aber auch bei den Eigenschaften der Datei ist der Speicherort derselbe unter dem ich die Datei aufrufen, aber leider nicht kopieren kann. Hoffe mal das ich mich verständlich ausgedrückt habe und das mir jemand helfen kann die * Fotos endlich auf den Stick zu kopieren.

Danke

...zur Frage

Wie kann ich von GTA V den Pfad ändern?

Ich hatte mir die Daten von GTA V, welches auf meinem Notebook unter C:\Program Files installiert war, auf meinen Stand PC auf meine D:\Program Files geholt. Nun will der ganz GTA neu installieren bzw. das 73 GB Update herunterladen. Aber er soll einfach nur das Spiel starten. Wie und wo kann ich den Pfad ändern?

...zur Frage

Was möchtest Du wissen?