Странная проблема совместимости с Windows 10
Я только что обновил Windows 10. Но пакетный файл, который я написал, не работает полностью. Такое же кодирование работало с Windows 7. Это кусок кода.
:BASLA
SETLOCAL ENABLEDELAYEDEXPANSION
set "s=DIR D:\Diziler /S /Q ^|FIND /i "Administrators" ^|findstr /m /i "HDTV" ^|findstr /m /i "\.mkv$""
for /f "Tokens=5,6*" %%f in ('%s%') do (
set FULLNAME=%%f
set ENDTEXT=!FULLNAME:*0p=!
call set TRIMMEDNAME=%%FULLNAME:!ENDTEXT!=%%
for /r D:\Diziler\ %%g in (*) do echo %%~nxg >> %tmp%\altyazi.txt
>nul findstr /c:"!FULLNAME:~0,-4!.srt" %tmp%\altyazi.txt && (
>>%tmp%\list.txt echo !TRIMMEDNAME!*
) || (
>>%tmp%\list.txt echo !TRIMMEDNAME!
)
)
)
Первая часть работает как обычно. altyazi.txt дает правильный вывод. Но когда приходит list.txt, все выходы Echo выключены. Я никогда не видел ничего подобного. Работает с 7, но не работает с 10.
1 ответ
Решение
Windows 10 и Windows 7 дают разные столбцы при DIR листинге. Смена токенов решит проблему.