sax1
Goto Top

parameter und pfad problem bei xcopy in der batch

Noob need help

Hallo ich versuche schon seit 3 std eine batch zu erstellen mit folgedem inhalt:

@echo on
xcopy "c:\Programme\" "c:\temp" /E /H
pause

habe auch die hier verfügbaren threads gelesen leider wird mein problem nicht gelöst !
irgendwas stimmt nicht

habe WinXp Prof
bin admin

Content-ID: 32960

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

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

Dani
Dani 21.05.2006 um 20:42:28 Uhr
Goto Top
Hi,
was willst du erreichen??


Gruß
Dani
sax1
sax1 21.05.2006 um 20:46:45 Uhr
Goto Top
ich möchte erreichen das pfad/datei 1 zu pfad 2 kopiert wird !
Dani
Dani 21.05.2006 um 20:52:26 Uhr
Goto Top
Hi,
nur 1 Datei. Dann probier mal das:
@echo on
xcopy "c:\Programme\datei.typ" "c:\temp\" /E /H  
pause
oder alle Dateien:
@echo on
xcopy "c:\Programme\*.*" "c:\temp\" /E /H  
pause


Gruß
Dani
sax1
sax1 21.05.2006 um 20:55:04 Uhr
Goto Top
hab ich gemacht geht nicht dani !

siehe das ! http://www.hackerboard.de/thread.php?postid=181975#post181975

und was müsste ich bei ordnern machen ?
Dani
Dani 21.05.2006 um 20:57:33 Uhr
Goto Top
Hi,
auf den Bild unter dem Link fehlt hinter "D:\ noch ein "!!!


Gruß
Dani
sax1
sax1 21.05.2006 um 21:48:16 Uhr
Goto Top
ist die pfad länge in der batch egal oder gibt es da auch ne grenze ?
Biber
Biber 21.05.2006 um 22:15:15 Uhr
Goto Top
Moin sax1,

es gibt keine Grenze, die Dich in der Realität beim Tippseln einer Batch-Zeile behindern könnte.
Unter WinNT bin ich mal mit einem Oneliner ans Limit gestoßen, weil NT nur 2055 Zeichen oder so in einer Zeile am Prompt /im Batch vertragen konnte.
Aber da fangen auch schon einige Editoren an, Ausfallerscheinungen zu zeigen.

Inzwischen ist die erlaubte Zeilenlänge aber höher.
Wahrscheinlich stößt Du eher ans Limit der maximal verarbeitbaren Pfadlänge (meist zwischen 250 und 256 Zeichen).
Bei längeren Pfaden sind einige M$-Befehle etwas marode.

Gruß
Biber
sax1
sax1 21.05.2006 um 22:52:37 Uhr
Goto Top
und was kann ich da machen im mom verschlingt meine batch 4,00kb
und ich bekomme glaub durch zu langen pfad einen parameter fehler
Biber
Biber 21.05.2006 um 23:58:33 Uhr
Goto Top
und was kann ich da machen
Wo machen?
im mom verschlingt meine batch 4,00kb
Das macht mein Ereignisprotokoll alle 42 Sekunden.
Und wenn Du mal wirklich wissen willst, was "verschlingen" bedeutet, dann stell ich Dich mal meiner Ex vor.
und ich bekomme glaub durch zu langen pfad einen parameter fehler
Na, den Batch poste mal bitte... *g

Gruß Biber
sax1
sax1 22.05.2006 um 09:09:14 Uhr
Goto Top
was muss ich schreiben wenn ich nicht weiß wo die quelle ist ?

@echo on
xcopy "c:\Lan verbindung.exe*.*" "c":\Dokumente und Einstellungen\Administrator\Startmenü\Programme\Autostart\" /S /H /E /L
pause


ich hab noch eine batch die pfad länge ist 2x mal so lang wie diese und ich bekomme parameter probleme !
lewes
lewes 24.05.2006 um 20:43:40 Uhr
Goto Top
Probiere das:

@echo on
xcopy c:\Programme\*.* c:\temp /E /H
pause

Ansonst wenn du folgendes hast < **Programm Files >, muss dieses Teil in Hochkommatas setzen.
xcopy c:\"Programm Files"\*.* c:\temp /E /H

Hatte ein ähnliches Problem
:P
Smesp
Smesp 13.09.2006 um 00:08:53 Uhr
Goto Top
also wie ich die sache sehe liegt das problem darin das die batch dateien immernoch arbeiten als wären sie unter MS-Dos. dh. unter MS-Dos herrscht das dateiformat 8.3 was soviel bedutet wie 8 Zeichen vor dem Punkt und 3 Zeichen nach dem Punkt.

das Wort "Programme" aber z.B. hat leider Gottes 9 Zeichen vor dem (hier nicht vorhandenen, weil Ordner) Punkt das kann man aber umgehen indem man anstatt Programme Progra~1 schreibt das bedeutet es wird das Erste (alphabetisch gesehen) element(Ordner/datei) das mit Progra anfängt genommen. wenn man nun z.B. einen ordner Programme und einen Ordner Programmf hat wäre die korrekte bezeichnung für Programme Progra~1 und die korrekte bezeichnung für Programmf Progra~2.

also müsste es korrekt lauten:

@echo on
xcopy c:\Progra~1\*.* c:\temp /E /H
pause

MFG Smesp, sollte ich falsch liegen sagt es mir.
Biber
Biber 13.09.2006 um 08:26:16 Uhr
Goto Top
Guten Morgen allerseits,

erst mal Dank an alle für die vielen Unterstützungsversuche.
Aber jetzt ist insgesamt ein bisschen viel Irreführendes dabei.
Ein paar Antworten und Richtigstellungen versuch ich jetzt mal.
@sax1
was muss ich schreiben wenn ich nicht weiß wo die quelle ist ?
Ich würde die Datei erstmal suchen und dann kopieren, ehrlich gesagt... face-wink
Aber ich wil der Frage nicht ausweichen..
Das Kopieren einer einmalig vorhandenen Datei (unbekannter Ort, aber auf einem bekannten Laufwerk und/oder unterhalb eines bekannten Pfads).

Beispiel am CMD-Prompt:
ich erinnere mich dunkel, ich habe irgendwo in den Verzeichnissen unter "D:\Biber" diese hilfreiche PowerCenter-Installationsanleitung...
Und die hieß...ähh... irgendwas mit "Power..." und war ein *.doc und hatte Leerzeichen im Namen...
>dir /s /b "d:\Biber\Power* *.doc"  
d:\Biber\NeuerOrdner\PowerCenter 7.1.2 Client Installation.doc
... so wie in der letzten Zeile würde ich vorgehen... erst gucken... muss aber natürlich nicht sein.

>for /f "delims=" %i in ('dir /s /b "d:\Biber\Power* *.doc"') do @echo xcopy "%i" d:\woanders\    
xcopy "d:\Biber\NeuerOrdner\PowerCenter 7.1.2 Client Installation.doc" d:\woanders\   

xcopy "c:\Lan verbindung.exe*.*" "c":\Dokumente und Einstellungen\Administrator\Startmenü\Programme\Autostart\" /S /H /E /L

Falsch 1: "c:\Lan verbindung.exe*.*"
es gibt sicherlich keine "c:\Lan verbindung.exe27.doc" oder "c:\Lan verbindung.exe von Karl-Heinz.doc"
Falsch2:
"c":\Dokumente und Einstellungen\Administrator\Startmenü\Programme\Autostart\"
Besser1
"c:\Dokumente und Einstellungen\Administrator\Startmenü\Programme\Autostart\" /S /H /E /L
Besser2...die Umlaute ("ü") vermeiden.. falls CMD.exe und Windows-GUI unterschiedliche Codepage-Einstellungen haben.
..."c:\Dokumente und Einstellungen\Administrator\Startm~1\Programme\Autostart\"

ich hab noch eine batch die pfad länge ist 2x mal so lang wie diese und ich bekomme parameter probleme !
BullShit.
@lewes
xcopy c:\"Programm Files"\*.* c:\temp [xcopy-Schalter]
BullShit.
Besser (falls das Verzeichnis bei Dir tatsächlich mit Doppel-M geschrieben wird):
xcopy "c:\Programm Files\*.*" c:\temp [xcopy-Schalter]
Noch besser:
xcopy "%programFiles%\*.*" c:\temp [xcopy-Schalter]
@Smesp
sollte ich falsch liegen sagt es mir.
Jepp, kommt sofort.
unter MS-Dos herrscht das dateiformat 8.3
Stimmt schon, aber MS-DOS galt bis Win98. Oder vielmehr, bis die Standard-Shell command.com durch die CMD.exe abgelöst wurde.
Unter den Win-OSsen, die heute eingesetzt werden (WinNT, Win2000, WinXP..) gilt diese Restriktion nicht.
@all
Ich hatte selten einen Thread hier im Bereich "Batch und Shell", in dem so viel Blödsinn geschrieben wurde.
Bitte nutzt so wie ich auch
a) die von M$ angebotene deutschsprachige Hilfe am CMD-Prompt [z.B. "Xcopy /?" oder einfach "Help"]
b) die Möglichkeit, einen Befehl auch mal am CMD-Prompt auszuprobieren. Als Einzel-befehl, nicht als Zeile 67 in einer aus dem Netz kopierten Batchdatei.
c) das Feature dieses Boards, dass sich geschriebene Kommentare auch editieren lassen, wenn man/frau feststellt, dass sinnentstellende Tippfehler gepostet wurden.

Bitte postet kurzfristig, falls noch Fragen offen sind - ich würde diesen Thread gern möglichst schnell schließen.
Oder löschen. Oder an www.wer-weiss-was.de verschenken.

Biber, Moderator in diesem Zweig des Forums