joe65
Goto Top

Unbekannte Bedeutung von Laufwerksbuchstaben (C:)

Hallo,

xcopy /LSYH /D:%myDate% "%myPath%" C:\|findstr /vc:"Datei(en) kopiert">>"%Ergebnisdatei%"  
Wenn man vor |findstr das C:\ weglässt hat die Ergebnisdatei keine Einträge. Warum ist das so?
Warum braucht man da noch ein C:\ ?

Grüße

Content-Key: 215778

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

Printed on: April 19, 2024 at 04:04 o'clock

Member: rubberman
rubberman Aug 31, 2013 updated at 13:21:34 (UTC)
Goto Top
Hallo joe65,

kann ich nicht nachvollziehen. Normalerweise wird als Ziel das derzeitige Arbeitsverzeichnis implizit angenommen. Kann es sein dass in %myPath% das gleiche Verzeichnis zu finden ist, wie das was du in %cd% findest? XCOPY würde nämlich keine Dateien auf sich selbst kopieren.

Grüße
rubberman
Member: joe65
joe65 Aug 31, 2013 at 16:14:14 (UTC)
Goto Top
Hallo rubbermann,

in der Variablen %myPath% ist ein Verzeichnis welches mit D:\Meine_Dateien\... beginnt.
Ich hab es nochmal probiert:

Das hier geht:
xcopy /LSYH /D:%myDate% "%myPath%" C:\|findstr /vc:"Datei(en) kopiert">>"%Ergebnisdatei%"  

Das hier geht nicht:
xcopy /LSYH /D:%myDate% "%myPath%" |findstr /vc:"Datei(en) kopiert">>"%Ergebnisdatei%"  

Grüße
joe65
Member: rubberman
rubberman Aug 31, 2013 at 18:42:22 (UTC)
Goto Top
Hallo joe65,

funktioniert bei mir im Test wunderbar (Win7 x86).
@echo off &setlocal
set "myDate=08-31-2013"  
set "myPath=D:\Meine_Dateien"  
set "Ergebnisdatei=test.txt"  

xcopy /LSYH /D:%myDate% "%myPath%" |findstr /vc:"Datei(en) kopiert">>"%Ergebnisdatei%"  
Ergebnis:
D:\Meine_Dateien\A\B\C\Neues Textdokument.TXT
... und genau diese Datei habe ich im Vorfeld erstellt. Habe auch noch ein paar ältere Dateien hinein kopiert, die (wie gewünscht) nicht ausgegeben werden.

Grüße
rubberman
Member: Lochkartenstanzer
Lochkartenstanzer Sep 01, 2013 updated at 09:13:23 (UTC)
Goto Top
Moin,

Xcopy benötigt 2, in worten zwei Parameter, die Quelle und Ziel heißen.

ich sehe oben nur einen davon. face-smile Oder soll xcopy in das laufende Verzeichnis, default, wenn Ziel nicht angegeben ist, kopieren (wo es vielleicht gar nicht hinein darf?)


lks
Member: rubberman
rubberman Sep 01, 2013 updated at 12:08:44 (UTC)
Goto Top
Hallo Lochkartenstanzer.

Erforderlich ist das Ziel nicht, aber hast du ja letztlich auch geschrieben.
Du hast insofern Recht, dass es sinnvoller ist ein Ziel anzugeben (auch wenn hier wegen der Option /L sowieso nur eine Simulation des Kopiervorgangs läuft).

Grüße
rubberman
Member: Lochkartenstanzer
Lochkartenstanzer Sep 01, 2013 at 13:45:39 (UTC)
Goto Top
Zitat von @rubberman:
Erforderlich ist das Ziel nicht, aber hast du ja letztlich auch geschrieben.

Nein, erforderlich ist es nicht, aber es köntne sein, daß er es im "falschen" Verzeichnis ausführt und es daher zur problemen kommt.

lks

PS: Es könnte natürlich auch sehr stark davon abhängen, unter welchem OS und mit welchen Benutzerrechten man xcopy ausführt als da sind MSDOS, Win9x, WinNT ff., Win 6 bis 8, usw. oder als Admin oder Benutzer mit oder ohne besondere Rechte..
Member: joe65
joe65 Sep 02, 2013 at 10:50:44 (UTC)
Goto Top
Hallo rubberman,

wenn ich deinen Code verwende bekomme ich die Meldung:
"Zyklische Kopie nicht möglich"
Schreibe ich aber wieder das "C:\" vor dem "|findstr" funktioniert alles tadellos.

Als Betriebssystem habe ich Windows 7 Home Premium (Microsoft Windows [Version 6.1.7601]).

Grüße
joe65
Member: joe65
joe65 Sep 03, 2013 at 15:21:00 (UTC)
Goto Top
Hallo,

ich werde die Frage als gelöst markieren.
Man braucht den Laufwerksbuchstaben c:\ nur dann, wenn man den xcopy Befehl aus dem gleichen Verzeichnis heraus aufruft, von dem er auch kopieren soll.

Grüße
joe65
Member: rubberman
rubberman Sep 03, 2013 at 20:33:55 (UTC)
Goto Top
Hallo joe65,

jepp, das ist genau das, was ich bereits in meinem ersten Beitrag geschrieben hatte face-wink

Grüße
rubberman