У меня есть следующая команда:
find Acc*\bin\Debug\*.pdb > temp.txt
Смотря в temp.txt, я имею:
Accounting/bin/Debug/Accounting.pdb
Accounting/bin/Debug/BackendProcess.pdb
Отметьте наклонные черты вправо. Почему делает это имена выходного файла как это? И как я заставляю это производить обратные косые черты, таким образом, я могу использовать del на тех файлах?
найдите ищет строку поиска в файлах. Возможно, Вы ищете что-то как dir *.pdb /S /B > temp.txt
вместо этого?
Я думаю, что Вы использовали своего рода порт для находки (1) на DOS. если Вы имеете, находят, я думаю, что у Вас может также быть sed также.. и затем...
find condition | sed 's///\/g'
это должно сделать задание.
иначе следуйте за тем, что заявил @Johannes Rössel.
Я надеюсь перечислять файлы с подстановочными знаками, которые я упомянул. Dir не может сделать этого. Найдите хорошо работает, если вывод находится в консоли:
find Acc*\bin\Debug\*.pdb
произведет
Accounting\bin\Debug\Accounting.pdb
Accounting\bin\Debug\BackendProcess.pd
Это - просто перенаправление файла, которое идет не так, как надо.
Похоже на использование плохого порта UNIX find(1)
команда а не (раньше-DOS) find
утилита. Так как у Вас, по-видимому, есть те инструменты на Вашей машине так или иначе, можно просто использовать rm(1)
вместо del
на тех файлах.
Другая опция состоит в том, чтобы выполнить итерации по выводу и заменить делительную черту обратной косой чертой (принимающий пакетный файл здесь):
setlocal enableextensions enabledelayedexpansion
for /f "delims=" %%x in ('find Acc*\bin\Debug\*.pdb') do (
set fn=%%x
set fn=!fn:/=\!
>>temp.txt echo.!fn!
)