setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%a in ('dir /s/b') do (
set "fulldir=%%~a"
set "fulldir=!fulldir:\=\\!"
или
set "fulldir=!fulldir:\=/!")
>>DB.txt echo.!fulldir!
)
wchar_t * str = L"\??\C:\мой_файл.data";
if(strcmp(str + 4, str2) == 0)
{
...
}
Встроенные команды винды, такие как dir, корректно распознают текущую кодировку и выдают текст в правильном виде.
Да идет построчная обработка вывода dir. Если строк много, то может затянуться.
Оптом обработать встроенными средствами нельзя.
Попробуйте другие средства, например, можно составить для sed регулярное выражение, делающее то что вам нужно. Sed будет работать быстрее. Кстати, sed то же будет работать построчно.