Meu requisito é adicionar um timestamp
Use o seguinte arquivo em lotes.
@echo off
set datetime=%date:~4,2%%date:~7,2%%date:~10,4%_%time:~0,2%%time:~3,2%%time:~6,2%
for /f "delims=" %%x in ('dir /b /s D:\v\*.*') do (
echo %%~dpnx_%datetime%%%~xx>>C:\Users\TechMadmin\Desktop\scripts\a.txt
)
move /y C:\Users\TechMadmin\Desktop\scripts\a.txt C:\Users\TechMadmin\Desktop\scripts\b.txt
Notas:
-
%%~dpnx
é o nome completo do arquivo, incluindo a unidade e o caminho, mas excluindo a extensão (exemploD:\v\a
). -
_
é o caractere de sublinhado. -
%datetime%
é o valor da string de data e hora -
%%~xx
é a extensão do arquivo (exemplo.csv
). -
>>
é o operador de redirecionamento. -
Não totalmente testado.
Você está usando uma função dependente de localidade para obter os componentes de data (que não correspondem ao formato de data do meu sistema)
- Um exemplo simplificado funciona como esperado.
Se você quiser uma solução independente de localidade para os componentes de data e hora, veja minha resposta Imprimir datetime no Windows cmd para obter o código necessário.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- parâmetros - Um argumento de linha de comando (ou parâmetro) é qualquer valor passado para um script em lote.