本帖最后由 CrLf 于 2012-1-24 19:08 编辑
试写两种思路… | @echo off&setlocal enabledelayedexpansion | | set str=!cmdcmdline:*^" =! | | set str= !str:^"=! | | for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do set "str=!str: %%a:=" "%%a:!" | | for /f "delims=" %%a in (^"!str:~2!"") do endlocal&echo %%a | | pauseCOPY |
| @echo off&setlocal enabledelayedexpansion | | set str=!cmdcmdline:*" =! | | for %%a in (^^ ^& ^, ^; ^( ^) ) do set "str=!str:%%a=^%%a!" | | if !str:~-1!==^" set "str=!str:~,-1!" | | (endlocal | | for /f "delims=" %%a in ("%str:""="%") do echo %%a) | | pauseCOPY |
修改两个不严谨的地方。
方案一对付拖动文件到图标时应该是比较通用的,但是难以应付传递参数的情况。因等号无法直接替换,故在方案二中未对其进行转义处理,其实思路和旧帖中qzw的方案类似,如他当时所言,逐字转义确实是比较稳妥可靠的办法,所得的结果也比较通用。 |