本帖最后由 aloha20200628 于 2024-12-2 19:20 编辑
回复 1# vicodin
批处的浮点运算选用 powershell 代劳,顺便再给代劳 ‘整数提取及其排序’,以免后续整体替换时遭遇 ‘大小数嵌套重复’ 的陷阱(避免 ‘...180...80...’ 或 ‘...80...180...’ 文本行有 "大小数嵌套重复" 时被整体替换可能导致的错误)... 以下代码存为 test.bat 运行,与源文件 abc.txt 同目录
- @echo off & (for /f "delims=" %%a in (abc.txt) do (
- set "s=%%a" &for /f %%x in (
- 'powershell "$a='%%a' -replace '\D+(\d+)',',$1,';$a.split(',')|sort{[int]$_} -des" '
- ) do (setlocal enabledelayedexpansion &for /f %%n in (
- 'powershell "[int](%%x*0.925)" ') do set "s=!s:%%x=%%n!")
- echo,!s!&endlocal))>abc.new.txt
- pause&exit/b
复制代码
|