我代码前面有一段内容你就没认真看。你的错误结果是因为你自己粗心。我的代码适用于文本中中括号行最后一个字符不是空格,而是]的情况,这样看来楼主的原始文本应该是空格。那么稍微修改下代码就可以,如下,楼主不要总是衣来伸手,人家给的代码不要拿来就用,起码看完前提。- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (1.txt) do (
- set "str=%%a"&set "str=!str::=-!"
- if "!str:~0,1!"=="[" (if "!str:~-1!"==" " echo %%a>!str!.txt&echo !str!>temp.txt) else (
- set /p n=<temp.txt
- echo %%a>>!n!.txt
- ))
- del /q temp.txt
- pause
复制代码 楼主自己对比下看两个代码有什么差别吧。 |