1

我刚刚升级了 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。

4

1 回答 1

0

Windows 10 和 Windows 7 在 DIR 列表时给出不同的列。更改令牌将解决问题。

于 2016-10-08T22:48:48.557 回答