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-ID: 215778

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

Ausgedruckt am: 25.11.2024 um 17:11 Uhr

rubberman
rubberman 31.08.2013 aktualisiert um 15:21:34 Uhr
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
joe65
joe65 31.08.2013 um 18:14:14 Uhr
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
rubberman
rubberman 31.08.2013 um 20:42:22 Uhr
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
Lochkartenstanzer
Lochkartenstanzer 01.09.2013 aktualisiert um 11:13:23 Uhr
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
rubberman
rubberman 01.09.2013 aktualisiert um 14:08:44 Uhr
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
Lochkartenstanzer
Lochkartenstanzer 01.09.2013 um 15:45:39 Uhr
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..
joe65
joe65 02.09.2013 um 12:50:44 Uhr
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
joe65
joe65 03.09.2013 um 17:21:00 Uhr
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
rubberman
rubberman 03.09.2013 um 22:33:55 Uhr
Goto Top
Hallo joe65,

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

Grüße
rubberman