Eu preciso extrair a data de um arquivo, para então usar essa string como parte do nome de um novo arquivo. Estou tentando resolver isso usando os próximos comandos:
Primeiro, obtenho os detalhes do arquivo e redireciono a saída para um arquivo temporário.
DIR c:/myfolder/thefile.txt >> tmp.txt
Então eu uso o FINDSTR para pegar a linha que contém a data, se existir uma maneira de obter apenas a data em que não a encontrei:
FINDSTR [0-9]*\/[0-9]*\/[0-9] tmp.txt
A saída é:
10/04/2012 07:55 66,029 thefile.txt
Agora, quero definir esse resultado para uma variável:
SET vartmp=FINDSTR [0-9]*\/[0-9]*\/[0-9] tmp.txt
Parece que funcionou, porque quando eu coloco% vartmp% retorna o resultado:
10/04/2012 07:55 66,029 thefile.txt
Mas quando eu tento extrair uma parte do vartmp, começo os problemas:
ECHO %vartmp:~0,2%
Ele está me devolvendo a string "FI" quando eu esperava "10", parece que vartmp está salvando a expressão e não o resultado da expressão, estou tentando atribuir o resultado da expressão a um outro tempvar, depois extrair uma substring de tempvar mas nada mudou.