[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 【已解决】批处理怎样实现1-10 顺着排 跟倒着排?

本帖最后由 panda951 于 2015-3-23 22:50 编辑

user insert num1:3 (num1代表會出現的數字,num2 代表出現次數 里路 2 = 1 2 1)
user insert num2:10
1
12
123
1231
12312
123123
1231231
12312312
123123123
1231231231
123123123
12312312
1231231
123123
12312
1231
123
12
1

这个代码叫什么....
找不到相关资料......
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 pcl_test 于 2015-3-23 22:52 编辑

回复 1# panda951
  1. @echo off
  2. set /p n1=user insert num1:
  3. set /p n2=user insert num2:
  4. set /a r=%n2%-1
  5. set t=0
  6. :main
  7. setlocal enabledelayedexpansion
  8. for /l %%a in (1 1 %n1%) do (
  9. set "s=!s!%%a"
  10. set /a t+=1
  11. )
  12. if !t! geq !n2! (set str=!s!) else goto main
  13. for /l %%a in (1 1 %n2%) do set str=!str:~,%%a! & echo !str! &set str=!s!
  14. for /l %%b in (%r% -1 1) do set str=!str:~,%%b! & echo !str! &set str=!s!
  15. pause
复制代码
2

评分人数

TOP

好难的样子。

TOP

回复 3# luo0527


    我完全不明白这个有神马意义==

TOP

回复 2# pcl_test


    能告诉下他是如何运作吗?有点看不明白

TOP

回复 5# panda951
假设有num1:3,num2:4
那么可以看成
1-23123123
12-3123123
123-123123
1231-23123
123-123123
12-3123123
1-23123123
在每行-处截取前面的数

TOP

  1. @Echo Off
  2. SetLocal EnableDelayedExpansion
  3. Set /P Num1=user insert num1:
  4. Set /P Num2=user insert num2:
  5. For /L %%i In (1 1 %Num2%) Do (
  6. Set N=0
  7. For /L %%j In (1 1 %%i) Do (
  8. If "!N!"=="3" (Set N=1) Else Set /A N+=1
  9. Set .%%i=!.%%i!!N!
  10. )
  11. Echo !.%%i!
  12. )
  13. Set /A Num2-=1
  14. For /L %%i In (%Num2% -1 1) Do Echo !.%%i!
复制代码
我也来一个
1

评分人数

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set /p n1=user insert num1:
  3. set /p n2=user insert num2:
  4. :loop
  5. for /l %%a in (1,1,%n1%) do set "s=!s!%%a"
  6. if "!s:~%n2%!" equ "" goto :loop
  7. for /l %%a in (1,1,%n2%) do echo !s:~,%%a!
  8. set/a n2-=1&for /l %%a in (!n2!,-1,1) do echo !s:~,%%a!
  9. pause
复制代码
1

评分人数

TOP

回复 6# pcl_test


  原来是截取....
感谢你的分享

TOP

回复 7# bailong360


    大哥你的只是到123...

TOP

回复 8# cobat


   感谢你的分享

TOP

我也来一个
bailong360 发表于 2015-3-23 23:06



没看出来Num1有什么用。代码可以改成
  1. @Echo Off
  2. SetLocal EnableDelayedExpansion
  3. Set /P Num=user insert Num:
  4. For /L %%i In (1 1 %Num%) Do (
  5. Set N=0
  6. For /L %%j In (1 1 %%i) Do (
  7. If "!N!"=="%Num%" (Set N=1) Else Set /A N+=1
  8. Set .%%i=!.%%i!!N!
  9. )
  10. Echo !.%%i!
  11. )
  12. Set /A Num-=1
  13. For /L %%i In (%Num% -1 1) Do Echo !.%%i!
  14. pause>nul
复制代码

TOP

回复 12# 愤怒的CMD


    不好意思,代码错了...
  1. @Echo Off 2>nul 3>nul
  2. SetLocal EnableDelayedExpansion
  3. Set /P Num1=user insert num1:
  4. Set /P Num2=user insert num2:
  5. For /L %%i In (1 1 %Num2%) Do Set /A "1/(N-Num1)"&&Set /A N+=1||Set N=1&Set ..=!..!!N!
  6. For /L %%i In (%Num2% -1 -%Num2%) Do For /F "Delims=-" %%j In ("%%i") Do Set /A "1/%%i"&&Echo;!..:~0,-%%j!||Echo !..!
  7. Pause
复制代码

TOP

返回列表