coś dziwnego w powłoce poleceń Win-XP

6

Napisałem następujące polecenie w powłoce poleceń systemu Windows XP i stało się coś dziwnego:

C:\Folder1> copy sample.txt :

Z powodu mojego błędu w pisaniu napisałem „:” zamiast „D:”

... ale skopiował sample.txt do miejsca, którego nie mogę znaleźć!

Przeszukałem cały mój dysk twardy na sample.txt, ale jedynym wystąpieniem tego pliku jest oryginalny egzemplarz, który znajduje się w C: Folder1.

Czy wiesz, gdzie jest ścieżka „:” w powłoce polecenia Win-XP?

Możesz powiedzieć „:” jest bieżącą ścieżką i plik został skopiowany na siebie, ale spójrz na to:

Jeśli uruchomisz to polecenie po raz pierwszy, będzie to wynik:

1 file copied.

ale następnym razem, gdy uruchomisz to polecenie, zapyta cię:

overwrite sample.txt? (yes/no/all)

Gdyby więc zapisywał plik na siebie, oba wyniki musiałyby być takie same, ale tak nie jest.

Z góry dziękuje za twoją pomoc.


źródło
Dlaczego to pytanie jest rozważane poza tematem? Inne dotyczące programowania „wsadowego”, które prawdopodobnie ma tu miejsce, nie są.
Christian.K

Odpowiedzi:

4

Twoje dane zostały skopiowane do alternatywnego strumienia danych NTFS dołączonego do bieżącego katalogu.

Istnieją narzędzia (np. ADSRevealer), które pozwolą ci zweryfikować, czy .rzeczywiście dołączono ADS.

Jeśli wpiszesz:

MORE < :sample.txt

otrzymasz kopię sample.txt.

Aby uzyskać więcej informacji, zobacz np . Tutaj . Należy pamiętać, że obsługa wiersza poleceń dla ADS w XP jest w najlepszym razie „niedojrzała” .

LSerni
źródło
Mówisz, że „copy sample.txt:” to skrót od „copy sample.txt sample.txt: streamname”? Jakakolwiek nazwa strumienia w szczególności niż jest. Na żywo nie mogłem znaleźć odnośnika do tego w sieci (i nie mam teraz okna z systemem Windows, aby go wypróbować).
Christian.K
Przepraszam. Mój błąd. Źle to zrozumiałem. To nie próbka.txt nabywa ADS, ale sam katalog; i nabywa ADS o nazwie sample.txt. Aktualizacja odpowiedzi.