- 帖子
- 6388
- 积分
- 18837
- 技术
- 980
- 捐助
- 100
- 注册时间
- 2010-10-9
|
这代码有点不严谨
首先,文件名含空格是无法用%~s1解决的,因为 %~s1 的意思是“扩展的路径只含有短名”,它只针对路径,与文件名没有关系。所以应把 in ('"%~0" %~s1 OK^|sort') do 中的 %~s1 改为 %1
其次,for /f %%i in (%1) do 这一句没有考虑到当 %1 被双引号括起来时将被理解为是字符串。所以应该使用 for /f useback %%i in ("%~1") do
另外,代码核心思路上也有问题,没有考虑到当 !Res! 超过 9 时将出现错误的排序,比如 1234567890 大于 20(10 位的数字排在 2 位数字之前)
其实类似的题目,一般都是用补位排序解决的,简单有效 |
|