Почему действительно 'находит' наклонные черты вправо печати?

У меня есть следующая команда:

find Acc*\bin\Debug\*.pdb > temp.txt

Смотря в temp.txt, я имею:

Accounting/bin/Debug/Accounting.pdb
Accounting/bin/Debug/BackendProcess.pdb

Отметьте наклонные черты вправо. Почему делает это имена выходного файла как это? И как я заставляю это производить обратные косые черты, таким образом, я могу использовать del на тех файлах?

1
задан 23.06.2012, 12:01

4 ответа

найдите ищет строку поиска в файлах. Возможно, Вы ищете что-то как dir *.pdb /S /B > temp.txt вместо этого?

2
ответ дан 12.12.2019, 10:42

Я думаю, что Вы использовали своего рода порт для находки (1) на DOS. если Вы имеете, находят, я думаю, что у Вас может также быть sed также.. и затем...

find condition | sed 's///\/g'

это должно сделать задание.

иначе следуйте за тем, что заявил @Johannes Rössel.

1
ответ дан 12.12.2019, 10:42

Я надеюсь перечислять файлы с подстановочными знаками, которые я упомянул. Dir не может сделать этого. Найдите хорошо работает, если вывод находится в консоли:

find Acc*\bin\Debug\*.pdb

произведет

Accounting\bin\Debug\Accounting.pdb
Accounting\bin\Debug\BackendProcess.pd

Это - просто перенаправление файла, которое идет не так, как надо.

0
ответ дан 12.12.2019, 10:42

Похоже на использование плохого порта 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!
)
0
ответ дан 12.12.2019, 10:42

Теги

Похожие вопросы