Os batchfiles do Windows-10 são baseados no comando DATE, como usar em versões inferiores do Windows

2

Estou trabalhando em duas máquinas (virtuais):

  • Primeiro é uma máquina com Windows 10
  • O segundo é uma máquina com Windows 7

Em ambos os formatos de data abreviada são iguais: dd.MM.yyyy
Em ambos, estou executando o mesmo batchfile, com base no comando DATE .

Estou tendo diferenças nos resultados, relacionadas ao resultado dos resultados do comando DATE :

  • No Windows 10: The current date is: st 22.03.2017
  • No Windows 7: The current date is: 22.03.2017

Como você pode ver, a diferença deve-se à presença do nome de hoje ( st é uma abreviação da palavra tcheca para Wednesday ).

O sistema Windows 10 é o mestre, então minha pergunta: como posso alterar o sistema Windows-7 para incluir as duas primeiras letras do nome do dia?

Como testes, eu já tentei o seguinte para um formato de data curto:

dd dd.MM.yyyy   // this is better, the length of the format is good,
                   but it does not start with the initials of the day's name.
dddd dd.MM.yyyy // this starts with the day's name, but completely, 
                   and I only want the first two letters.

Enquanto isso, eu dei uma olhada no problema: o formato de data parece ser usado em dois lugares:

  1. Ao trabalhar com o comando DATE commandline (preciso de um formato como% xx dd.MM.yyyy (seja o que for que xx possa ter) para processamento adicional
  2. Durante o acompanhamento de echo : for /r %DIRECTORY% %I in ("*.*") do echo %~tfI A idéia é mostrar um timestamp e o nome do arquivo, algo como: 22.03.2016 13:50 <filename> (sem xx )
por Dominique 22.03.2017 / 13:16

2 respostas

0

Que bagunça, mas acredito que encontrei uma solução para o problema:

O ponto é o seguinte: no Windows 10, mesmo tendo um formato de data simples (como dd.MM.yyyy ), a linha de comando date /T adiciona os primeiros caracteres do dia, então obtemos o seguinte:

date /T
st 22.03.2017

E meus colegas criaram seus arquivos batch em torno da presença desses caracteres "st". A execução desses batchfiles em versões inferiores do Windows fornece os problemas mencionados.

No início dos batchfiles, adicionei a linha:

DATE=xx %DATE%

(muito infantil, admito)
Isso faz com que os arquivos batch funcionem no meu computador Windows-7.
Para que isso funcione nos dois sistemas, só preciso adicionar uma verificação na plataforma, algo como:

set WINDOWS_10=%ver | findstr /C:"Version 10"%
if "WINDOWS_10"=="" (
  set DATE=xx %DATE%)

Eu ainda não verifiquei no Windows-10 PC, mas acredito que isso funcionará.

    
por 22.03.2017 / 16:31
1

No windows 7 você deve usar ddd para ter um formato similar, que é de 3 caracteres, não 2.

Então você pode usar ddd dd.MM.yyyy . Esse é o formato suportado.

Uma maneira de obter dois caracteres seria remover um com um arquivo em lotes.

    
por 22.03.2017 / 13:23