中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 指定范围内对齐输出 上一主题 | 下一主题
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『楼 主』:  指定范围内对齐输出 使用 LLM 解释/回答一下

@echo off
set n=0
setlocal enabledelayedexpansion
for /r %%a in (*) do (
call :byte "%%~nxa"
call :xecho "!space!"
set/a n+=1&call :xecho "%%~nxa"
if !n! equ 2 set n=0&call :xecho "↙"
)
del '&pause&exit/b
:xecho
if "%~1"=="↙" (echo.&goto :eof) else set /p=%~1 <nul
goto :eof
:byte
set byte=0
set "space="
echo %~1 >'&for %%a in (') do set byte=%%~za
set/a num=30-byte
for /l %%i in (1 1 %num%) do set "space= !space!"
goto :eof


Last edited by plp626 on 2008-3-22 at 06:50 AM ]




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-3-21 17:25
查看资料  发短消息  网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

右对齐
@echo off
set n=0
setlocal enabledelayedexpansion
for /l %%a in (1 1 500) do (
set ran=!random!
call :byte "!ran!"
call :xecho "!space!"
set/a n+=1&call :xecho "!ran!"
if !n! equ 6 set n=0&call :xecho "↙"
)
del '&pause
exit/b
:xecho
if "%~1"=="↙" (echo.&goto :eof) else set /p=%~1 <nul
goto :eof
:byte
set byte=0
set "space="
echo %~1 >'&for %%a in (') do set byte=%%~za
set/a num=10-byte
for /l %%i in (1 1 %num%) do set "space= !space!"
goto :eof


tab左对齐

@echo off
set n=0
setlocal enabledelayedexpansion
for /l %%a in (1 1 500) do (
set ran=!random!
set/a n+=1&call :xecho "!ran!"
if !n! equ 6 set n=0&call :xecho "↙"
)
pause
exit/b
:xecho
if "%~1"=="↙" (echo.&goto :eof) else set /p=%~1 <nul
goto :eof


Last edited by plp626 on 2008-3-22 at 06:49 AM ]




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-3-21 17:40
查看资料  发短消息  网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

@echo off
::命令行下对任意十进制整数排序,右对齐输出.
::使用格式: dat.txt
::thanks youxi01
if not exist %1 echo %~nx1 未找到.&exit /b
findstr "" %1 >nul&&echo 警告: %~nx1 内含有 非数字 数据!
setlocal enabledelayedexpansion
if "%2"=="" (
for /f "tokens=2 delims=#" %%i in ('"%~0" %1 #^|sort') do (
call :byte "%%i"
call :xecho "!space!"
set/a n+=1&call :xecho "%%i"
if !n! equ 6 set n=0&call :xecho "↙"
)
) else (
for /f %%i in (%1) do (
call :wei %%i
echo !r!#%%i
)
goto :eof
)
goto :eof

:xecho
if "%~1"=="↙" (echo.&goto :eof) else set /p=%~1 <nul
goto :eof

:byte
set "space="
call :wei %1
set/a num=10-%r%
for /l %%i in (1 1 %num%) do set "space= !space!"
goto :eof

:wei
set r=0
for /l %%i in (0 1 100) do (
set "var=%~1"
set t=!var:~%%i,1!
if "!t!"=="" goto :eof
set/a r+=1
)


测试数据

@echo off&setlocal enabledelayedexpansion
for /l %%a in (1 1 100) do echo !random!>>dat.txt


Last edited by plp626 on 2008-3-22 at 09:18 AM ]




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-3-22 05:44
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: