Estou tentando fazer um comando de lote de uma linha que excluiria uma chave se ela estivesse vazia. Abaixo estão 2 soluções que deveriam funcionar, mas por algum motivo estranho elas não funcionam. 😩
For /f "tokens=*" %%a in ('Reg Query "HKCU\Software\RandomKey" 2^>NUL ^| FindStr /l /i /c:"\\Software\\RandomKey\\"') do (EXIT) ^& Reg Delete "HKCU\Software\RandomKey" /f 1>NUL
For /f "tokens=*" %%a in ('Reg Query "HKCU\Software\RandomKey" 2^>NUL ^| FindStr /l /i /c:"\\Software\\RandomKey\\"') do Set "FSK=1" ^& If Not "%FSK%"=="1" Reg Delete "HKCU\Software\RandomKey" /f 1>NUL
Aqui está um teste:
No meu sistema:
O
findstr
comando procura a/c:
string constante entre aspas (observe os 4 espaços iniciais e a diferenciação entre maiúsculas e minúsculas) no/b
início da linha.Resultados na minha máquina