encontrar procura por uma string de pesquisa em arquivos. Talvez você esteja procurando por algo como dir *.pdb /S /B > temp.txt
em seu lugar?
Eu tenho o seguinte comando:
find Acc*\bin\Debug\*.pdb > temp.txt
Olhando no temp.txt, eu tenho:
Accounting/bin/Debug/Accounting.pdb
Accounting/bin/Debug/BackendProcess.pdb
Observe as barras. Por que ele gera nomes de arquivos como este? E como posso obtê-lo para gerar barras invertidas, para que eu possa usar del nesses arquivos?
encontrar procura por uma string de pesquisa em arquivos. Talvez você esteja procurando por algo como dir *.pdb /S /B > temp.txt
em seu lugar?
Eu acho que você usou algum tipo de porta para encontrar (1) no DOS. se você encontrar, eu acho que você também pode ter sed também ... e então ...
find condition | sed 's///\/g'
isso deve fazer o trabalho.
caso contrário, siga o que @Johannes Rössel disse.
Estou procurando listar os arquivos com os curingas que mencionei. Dir não pode fazer isso. Find funciona bem se a saída estiver no console:
find Acc*\bin\Debug\*.pdb
irá produzir
Accounting\bin\Debug\Accounting.pdb
Accounting\bin\Debug\BackendProcess.pd
É apenas o redirecionamento de arquivos que está errado.
Parece que você usa uma porta deficiente do comando find(1)
do UNIX e não o utilitário (% DOS) find
. Como aparentemente você tem essas ferramentas em sua máquina, pode usar apenas rm(1)
em vez de del
nesses arquivos.
Outra opção é iterar a saída e substituir o virgule por uma barra invertida (assumindo um arquivo em lotes aqui):
setlocal enableextensions enabledelayedexpansion
for /f "delims=" %%x in ('find Acc*\bin\Debug\*.pdb') do (
set fn=%%x
set fn=!fn:/=\!
>>temp.txt echo.!fn!
)
Tags command-line windows batch