Janelas, lote. Quero processar arquivos em lote para loop. O problema é: não tenho ideia de qual será exatamente a extensão. O que sei é que será um número.
Então, o que estou tentando criar é algo assim:
@echo off
For %%X in ("%cd%\*.[0-9]+") do (
processFile.vbs %%X %%X.csv
sed -i s/\/t/;/g %%X.csv
sed -i s/,/:/g %%X.csv
)
Mas regex como eu coloquei no loop for não parece funcionar no Windows.
Responder1
Você precisa canalizar dir
a saída do comando para o findstr
, que suportaconjunto limitadode expressões regulares. Fonte:Script em lote para excluir arquivos com base em findstr regex
Infelizmente, +
o token não é suportado, então aqui está minha melhor chance (obrigado,Scott!):
@echo off
for /f "tokens=*" %%X in ('dir /b ^| findstr /r /e \.[0-9][0-9]*') do (
processFile.vbs %%X %%X.csv
sed -i s/\/t/;/g %%X.csv
sed -i s/,/:/g %%X.csv
)
/r
swicth digafindstr
para pesquisar usando regex/e
switch corresponde ao padrão no final de uma linha
Também findstr
écheio de peculiaridades, então você foi avisado.