W wierszu polecenia systemu Windows mogę wydrukować rok bieżącej daty, wykonując następujące czynności:
echo %date:~10,4%
wynik: 2016
Oczywiście, w zależności od tego, jak daty są wyświetlane w Twoim języku, musisz zmienić 10
lub 4
aby uzyskać prawidłowy ciąg podrzędny. Ale jest dobrze.
Chcę, żeby go wydrukowano 2015
, który jest 2016 - 1
. Jak więc odjąć 1 od podciągu, który właśnie przechwyciłem? Nie ma problemu z użyciem zmiennych pomocniczych.
windows
command-line
Gustavo
źródło
źródło
(Get-Date).year -1
proste i jasne. Muszę kochać PowerShell. umieść go w zmiennej do dalszego wykorzystania.Odpowiedzi:
Jak już powiedziałeś, nie ma problemu z użyciem innej zmiennej, możesz to zrobić w następujący sposób (Moje ustawienia środowiska używają innego podciągu)
Dla ciebie zakładam, że tak będzie
set /a "yearminus1=%date:~10,4%-1"
, ale nie mogę tego przetestować.Używając
/a
przełącz się zset
określa, że będziesz podawać wyrażenie do oceny, a nie tylko przechowywać wyrażenie w zmiennej takiej, jaka jest.Można użyć następujących operatorów:
Z tutaj .
źródło
set /a "yearminus1=%date:~6,10%-1"
daje mi „brakujący operand”Jak ustawić zmienną, która jest rokiem ubiegłego roku?
Użyj następującego pliku wsadowego (test.cmd):
Wydajność:
W twoim konkretnym przypadku powinieneś móc skorzystać z następujących opcji:
Dalsze czytanie
źródło
2016/02/12
i używając 10 jako parametru indeksu nie można wyodrębnić podciągów, ponieważ jest zbyt krótki (indeksy od 0 do 9). Próbowaćecho %date%
lubecho %date:~0,4%
i to zadziała.