Co robi „move ^ <” w systemie Windows?

4

Przypadkowo wpisałem to polecenie w dużym katalogu roboczym i otrzymałem następujący wynik:

d:\prog>move ^<
       10 file(s) moved.

Czy ktoś może wyjaśnić, co właśnie zrobiłem? Nie mam pojęcia :/

Uwaga:

Wydaje się, że dzieje się tak tylko wtedy, gdy w katalogu znajdują się pliki z tylko rozszerzeniem (i bez nazwy) .a.

wprowadź opis zdjęcia tutaj

Gugyin Adrián
źródło
Czy na pewno move ^<było kompletne polecenie? Otrzymuję komunikat „Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest nieprawidłowa”. z tym poleceniem.
DavidPostill
Dostaję to również w innych katalogach, więc wydaje się, że jest to coś związanego z zawartością katalogu ... teraz wpadłem na pomysł i utworzyłem plik o nazwie .a, powtarzając polecenie move ^ <, spowodowałem przeniesienie 1 plików. Może więc coś zrobić z plikami o nazwie. Coś, ale wciąż nie wiem, co to robi ... pozornie nic, ale byłbym szczęśliwy, gdybym wiedział, jak to działa :)
Gugyin Adrián
Hmm Z plikiem o nazwie .a. Mogę to odtworzyć. W rzeczywistości nic nie porusza ... dochodzenia są kontynuowane
DavidPostill
-1 zrób DIR, spraw, aby był odtwarzalny / jasne, jak inni mogą go odtworzyć. np gdy próbowałem go, nawet po utworzeniu pliku nie wspomniałeś, mam komunikat o błędzie i.imgur.com/w0qidGr.png Więc chciałbym, aby zobaczyć więcej informacji o tym, co znajduje się w D: \ prog i okien wersja
barlop
Zwykle <jest to polecenie przekierowujące dla standardowego wejścia. ^jest znakiem ucieczki, więc ^<oznacza dosłowny <znak. Tak move ^<powinno oznaczać przenieść plik o nazwie <w bieżącym katalogu. Nie <jest to jednak poprawna nazwa pliku ...
DavidPostill

Odpowiedzi:

1

Używasz symbolu wieloznacznego, więc pasujące pliki zostaną przeniesione. Dokumentacja Microsoft (łącza u dołu) stwierdza

  • DOS_QM (> większy niż) Dopasowuje dowolny pojedynczy znak lub, po napotkaniu kropki lub końca nazwy, przesuwa wyrażenie na koniec zestawu ciągłych DOS_QM.

  • DOS_STAR (<mniej niż) Dopasowuje zero lub więcej znaków do momentu napotkania i dopasowania finału. w imieniu.

Twoje polecenie „przenosi” (ponieważ folder docelowy jest taki sam jak źródło, nie ma rzeczywistej operacji przenoszenia) pliki bez rozszerzenia, to znaczy, że twoje polecenie jest równoważne zmove *.

Teraz następne pytanie powinno brzmieć:

  • Jeśli ^<(lub po prostu "<") wybiera pliki bez rozszerzenia, dlaczego .aplik, który nie ma nazwy, ma tylko rozszerzenie, zostaje wybrany?

Odpowiedzią są krótkie nazwy . Wybór symboli wieloznacznych działa na długie i krótkie nazwy plików. Jeśli spróbujesz dir /xwyświetlić listę krótkich nazw plików, prawdopodobnie zobaczysz, że krótka nazwa .apliku nie ma rozszerzenia.

Więcej informacji

MC ND
źródło
Hmm Dlaczego więc nie dir ^>pasuje a.?
DavidPostill
@DavidPostill, dla mnie ^>i ">"dopasuj wszystkie pliki z jednym znakiem w nazwie i bez rozszerzenia. Jeśli nazwa zawiera kropkę (nie separator rozszerzenia), wówczas nazwa pliku ma dwa znaki i nie jest dopasowana.
MC ND,