Touch dla Windows i rozszerzone atrybuty.

Tytulowe tematy dotycza commandline i sa raczej krótkie, wiec polaczylem dwa w jednym.

Zaczne od atrybutów. O rozszerzonych atrybutach plików i folderów (w tym o zdradliwym zachowaniu atrybutu "Temporary" pisalem juz kilkukrotnie. Na przyklad tu i tu. Napisalem wtedy miedzy innymi "standardowe polecenia systemu nie pokazuja najwazniejszej w tym przypadku informacji", majac na mysli, ze wyswietlenie czegos wiecej niz atrybutów AHRSI nie jest mozliwe z cmd.exe Otóz nadeszla pora na odszczekanie moich oszczerczych wypowiedzi. Dzisiaj, zupelnie przez przypadek, do polecenia FOR zaplatala mi sie literka "a" i wynik wyswietlil dziwnie duzo pól:

image

Na standardowe atrybuty wystarczylyby cztery pola a tu jest wiecej. Szybki test na folderze %temp% i mam:

image

Tak wiec jeszcze raz odszczekuje: cmd.exe potrafi powiedziec, który plik jest plikiem tymczasowym. Wystarczy wklepac: "for %i in (*.*) do @echo %~naxi". Choc oczywiscie do uzycia PowerShella dalej namawiam.

Temat drugi to polecenie touch dla Windows. Tutaj "od zawsze" wiedzialem jak to zrobic, ale czestotliwosc pytan na ten temat sprawia, ze napisze to na blogu: poleceniem copy. "copy nazwapliku.ext+ " Oczywiscie mozna równiez ze znakami specjalnymi, czyli "copy *.*+" zadziala jak najbardziej OK. W srodku, w cmd.exe (copy jest poleceniem wewnetrznym cmd.exe), takie wywolanie sprowadza sie wylacznie do potraktowania plików funkcja SetFileTime() i biezacym czasem. Czyli touch wlasnie.

Autor: Grzegorz Tworek [MVP]

PS Dzisiejsze informacje, mimo powiazania tematyka z systemami klienckimi, nie byly zwiazane z portalem Springboard. Ale to wyjatek, potwierdzajacy regule, ze na Springboard warto po wiedze zagladac.