Czego używasz, gdy chcesz zaktualizować pole pliku z modyfikacją daty w systemie Windows?
- polecenia dostępne przez C ++, .NET, C # lub coś natywnego dla Windows (najlepiej Vista)
- narzędzia / aplikacje najlepiej bezpłatne, a jeśli to możliwe, również oprogramowanie typu open source
Edycja: istnieje już strona dla aplikacji, jak wskazał tutaj CheapScotsman .
Jeśli ktoś wie, jak to zrobić za pomocą C ++, C #, WSH lub czegoś podobnego, dobrze i dobrze, inaczej pomyślałbym, że wszystko inne jest zawarte w powiązanym pytaniu.
windows
file-attributes
touch
facepalmd
źródło
źródło
REM.>a
Odpowiedzi:
Jeśli chcesz dotknąć datownika pliku za pomocą systemu Windows, użyj następującego polecenia w wierszu polecenia:
(gdzie
filename.ext
jest nazwa pliku).+,,
Jest specjalnym flagęcopy
informując go po prostu zaktualizować data / czas na pliku :Edytuj na podstawie komentarzy Lumi i Justina: umieść to w pliku wsadowym, np. touch.cmd
Działa to nawet wtedy, gdy pliku nie ma w bieżącym katalogu (testowane w systemie Windows 7).
źródło
copy
: technet.microsoft.com/en-us/library/bb490886.aspxtype touch.bat
jest@echo off
i następny wierszcopy /b %1 +,,
- włóż toC:\bin
lub co masz na własne skrypty, a następnie możesz go użyć jaktouch myfile.txt
.copy /b Source+,, Source
- gdzieSource
zawiera pełną ścieżkę do plikuUżyłem i polecam unxutils, które są rodzimymi portami Win32 wielu popularnych narzędzi Uniksa. Tam jest
touch
polecenie.źródło
"test тест τεστ.txt"
touch
polecenia. Podobnie jak wszystko inne w środowiskach nix, możesz to zrobić albo sudo, albo nie możesz, bo nie masz uprawnień.Jeśli wszystko, czego chcesz, to zmienić datę ostatniej modyfikacji pliku (tak było w moim przypadku):
źródło
gci -recu -inc "*.*" | % { $_.LastWriteTime = Get-Date }
file
jeśli nie istnieje.cmd
wbudowane.AKTUALIZACJA
Gah! To nie działa na plikach tylko do odczytu, podczas gdy
touch
działa. Sugeruję:źródło
filename +,,
składni.@ dash-tom-bang:
Oto wyjaśnienie Technet dotyczące tajemniczego „+” i przecinków:
Polecenie kopiowania obsługuje scalanie wielu plików w jeden plik docelowy. Ponieważ nie można określić pustego miejsca docelowego za pomocą znaku spacji w wierszu polecenia, można do tego użyć dwóch przecinków.
I to jest odwołanie do polecenia kopiowania Technet: http://technet.microsoft.com/en-us/library/bb490886.aspx
źródło
Jeśli czujesz się jak kodowanie go samodzielnie, NET oferuje
File.SetLastAccessTime
,File.SetCreationTime
iFile.SetLastWriteTime
metod.źródło
tutaj jest wersja rekurencyjna używająca programu PowerShell ... zmieni to czas ostatniej modyfikacji wszystkich plików i podkatalogów oraz plików w podkatalogach tego katalogu
źródło
ls * -recurse | % { $_.LastWriteTime = Get-Date }
Projekt GnuWin32 ma porty Windows wersji Gnu narzędzi wiersza poleceń Unix.
Występuje jako szereg oddzielnych pakietów i można zainstalować tylko potrzebne polecenia bez żadnych innych zależności. Do
touch
tego potrzebny byłby pakiet CoreUtils .źródło
cygwin
wyposażonytouch
. Wiem, że wspomniałeś, że nie chcesz instalować całego frameworka, ale cygwin jest dość lekki i można go wywoływać z okna poleceń dos bez włączonego całego wiersza poleceń podobnego do Uniksa.Możesz także kontrolować, które narzędzia zainstalować, aby po prostu zainstalować
touch.exe
plik i pozostawić resztę frameworka.źródło
Próbowałem tego, aby utworzyć pusty plik w skrypcie wsadowym. Możesz użyć tego:
źródło
echo pie>.gitignore
Działało - dzięki!.gitignore.
a po naciśnięciu klawisza Enter system Windows usunie końcowy okres. Szalony, ale działa.Oto prosty plik reguł, który napisałem, aby dodać prawym przyciskiem myszy „dotyk” w Eksploratorze Windows . Łatwo też go napisać, ponieważ wywołuje on po prostu:
źródło
copy nul some_file
o utworzeniu pustego pliku (do czegotouch
najczęściej używam ).Natywne porty win32 wielu poleceń unixowych , w tym dotykowych.
Używałem go wcześniej i działa dobrze - bez instalacji, bez bibliotek DLL itp
źródło
Wypróbuj ten z CodeProject .
źródło
Możesz również zainstalować Cygwin, który daje Dotyk oraz mnóstwo innych poleceń * NIX.
źródło
Istnieją porty Windows wielu narzędzi uniksowych. Wystarczy popatrzeć na unxutils lub GnuWin32 projektów.
źródło
Z podobnego pytania na temat przepełnienia stosu.
Aby zaktualizować znaczniki czasu (ignorując inne funkcje
touch
), wybrałbym:źródło
Co powiesz na projekt kodowy „Touch for Windows”: http://www.codeproject.com/KB/applications/touch_win.aspx
edytować; To samo pytanie jak tutaj: https://stackoverflow.com/questions/51435/windows-version-of-the-unix-touch-command/51439
źródło
ze strony:
źródło
Tę treść można zapisać w pliku reg. Spowoduje to dodanie menu kontekstowego kliknięcia prawym przyciskiem myszy dla wszystkich plików z funkcją „Plik dotykowy” (testowane w systemie Windows 7). Skopiuj wszystkie poniższe wiersze do pliku reg. Uruchom plik i zatwierdź pytanie. Kliknij prawym przyciskiem myszy dowolny plik (lub wiele plików) - opcja „Plik dotykowy” jest już dostępna.
źródło
Jeśli używasz git do jednego lub więcej projektów, polecenie mingw
git-bash
dla systemu Windows matouch
polecenie. Chcę podziękować @ greg-hewgill za wskazanie mi, że istnieją narzędzia nix dla systemu Windows, ponieważ to właśnie wpadłem na pomysł, aby spróbować dotknąć git-bash.źródło
w PowerShell spróbuj:
NI
jest aliasem polecenia cmdlet New-Item .źródło
ni
polecenia, a może bardziej szczegółowo opisać działanie polecenia?New-Item
cmdlet nie można użyć do aktualizacji sygnatury czasowej istniejącego pliku.Zapisz następujące dane jako touch.bat w folderze% windir% \ system32 lub dodaj folder, w którym jest zapisany, do zmiennej środowiskowej PATH:
Przykładowe użycie:
Odniesienie: Microsoft KB 69581
źródło
Znalazłem szybki sposób, aby to zrobić, jeśli masz zainstalowany vim (nie jest to dobre dla dużych plików, otworzy cały plik, a następnie go zamknie ...)
„+” Ustawia argument, aby uruchomić następujące polecenia. „wq!” to „pisać, wychodzić, wymuszać”. Spowoduje to otwarcie pliku, zapisanie, a następnie natychmiast zamknięcie.
źródło
Chciałem, aby funkcja dotykowa polegała na klonowaniu / powielaniu dat pliku z innego pliku, natywnie i aby była możliwa do użycia z pliku wsadowego.
Zatem przeciągnij i upuść plik wideo do pliku wsadowego, uruchomi się FFMPEG, a następnie „Data utworzenia” i „Data modyfikacji” z pliku wejściowego zostaną skopiowane do pliku wyjściowego.
Początkowo wydawało się to proste, dopóki nie okaże się, że pliki wsadowe są okropne w obsłudze nazw plików Unicode, wbudowany program PowerShell miesza się z symbolami nazw plików, a podwójne ucieczka jest koszmarem.
Moje rozwiązanie polegało na tym, aby część „dotykowa” była oddzielnym skryptem PowerShell, który nazwałem „CLONE-FILE-DATE.ps1” i zawiera:
Oto przykład użycia w moim pliku wsadowym „CONVERT.BAT”:
Myślę, że PowerShell jest czytelny, więc po prostu wyjaśnię mówienie partii:
% ~ dp0 to bieżący katalog pliku wsadowego.
% ~ 1 jest ścieżką pliku upuszczonego na partię bez cudzysłowów.
CHCP 65001> nul ustawia znaki na UTF-8 i połyka dane wyjściowe.
-ExecutionPolicy ByPass umożliwia uruchamianie programu PowerShell bez potrzeby modyfikowania globalnej polityki, która ma zapobiegać przypadkowemu uruchamianiu skryptów.
źródło
Próbować
plik fsutil createnew new.txt 0
źródło
The FSUTIL utility requires that you have administrative privileges.
- i nie zachowuje się jak wtouch
przypadku istniejących plików.Pięć wyżej wymienionych alternatyw oraz trzy inne nie wymienione tutaj można znaleźć w SuperUser: „Windows Recursive Touch Command”
źródło
Nie jest to trochę związane z pierwotnym pytaniem, ale uważam to za bardzo przydatne w systemie Windows ze względu na GUI.
Korzystam z narzędzia TouchPro, które zapewnia GUI (wbudowane w powłokę eksploratora):
http://www.jddesign.co.uk/products/touchpro/touchpro.htm
źródło
Cóż, jeśli naprawdę chcesz mieć
touch
dostępne polecenie, możesz umieścić to w pliku wsadowym o nazwietouch.bat
i włożyćC:\Windows
:Wystarczająco proste.
źródło
Uniksowi naprawili ogólny problem aktualizacji daty pliku dowolnego pliku za pomocą polecenia dotykowego . Jednak w przypadku systemu Windows czasami możliwa jest prostsza metoda w szczególnych przypadkach.
Muszę zaktualizować znacznik czasu skrótu do aplikacji w systemie Windows 8.1, aby zmiany koloru tła Kafelka aplikacji były widoczne, zobacz to pytanie SO . Zamiast implementować jedno z powyższych sprytnych narzędzi, łatwiej jest mi edytować pole komentarza skrótu. Większość ludzi pozostawia to puste, ale oczywiście szybko pojawia się przydatny komentarz. A jeśli komentarz istnieje, dodanie lub usunięcie ostatniego okresu nigdy nie zaszkodzi.
źródło
Rozumiem, że to stare pytanie, właśnie odkryłem dotyk w moim systemie Windows 10. Pobrałem i zainstalowałem Git stąd (tak mi się wydaje) i wygląda na to, że dotyk i różne inne narzędzia znajdują się w folderze bin.
źródło