Skrypt nie zapisuje czasu do pliku

0

Próbuję napisać plik z datą.

Widziałem kilka postów i jako taki byłem w stanie skopiować kod, ale zamiast pokazywać mi czas, pokazuje mi polecenie

Plik nietoperza jest po prostu

echo 'date -u' > server-startup-time.txt

Kiedy uruchamiam ten plik, a następnie przeglądam plik .txt, miałem nadzieję zobaczyć coś takiego

00/00/0000 25:61:61

Jednak to, co naprawdę widzę, to

„data -u”

Kilka kolejnych wyszukiwań nie pomogło - podejrzewam, że wpisuję nieprawidłowe hasła do Google.

Co mogę uzyskać plik bat, aby zapisać aktualny czas / datę do pliku?

MyDaftQuestions
źródło
Jaki system operacyjny ....
Ramhound
@Ramhound, zaktualizowałem mój post. Windows Server 2012
MyDaftQuestions
@ MikaelKjær, niestety nie. Kiedy otwieram plik tekstowy, nie widzę daty, widzę tylko $(date -u)
MyDaftQuestions
Jeśli w wierszu polecenia wpisujesz data -u co się dzieje?
Ramhound
Odpowiada za The system cannot accept the date entered. Enter the new date: (dd-mm-yy) @Rhound
MyDaftQuestions

Odpowiedzi:

2
  1. Użyłeś pojedynczych cudzysłowów z zamiarem uruchomienia polecenia i wyjścia wstawionego do instrukcji echo. Działa to tylko w języku cmd Windows jako część a FOR /F komunikat.
  2. Odwołałeś się do date -u dowództwo. Jest to polecenie POSIX, odpowiednie tylko dla systemów Linux / Unix / BSD (lub dla systemu Windows 10 używającego powłoki bash, ale o ile wiem, nie można go łączyć z instrukcjami powłoki cmd). Odpowiednikiem w języku cmd systemu Windows jest date /t który wyświetla tylko datę lub time /t który wyprowadza tylko czas. Nie ma pojedynczego polecenia, które robi oba w systemie Windows.
  3. Jednak najłatwiejszym sposobem osiągnięcia tego, co wydaje się być pożądane, jest użycie psuedovariables systemu Windows:

    echo %DATE% %TIME% >server-startup-time.txt

Ross Presser
źródło
To świetna odpowiedź. Dziękuję za nie tylko pokazanie mi odpowiedzi, ale wyjaśnienie, co zrobiłem źle!
MyDaftQuestions