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

shift 命令详解

::
  1. @echo off&goto loop
  2. shift 命令详解
  3. shift 是将所有参数往前移动一位。
  4. shift /2 是从第2个参数开始将后面的参数全部往前移动一位,但不影响前面的参数位置(即:不影响1)
  5. shift /3 是从第3个参数开始将后面的参数全部往前移动一位,但不影响前面的参数位置(即:不影响1,2)
  6. 依次类推 …… ……
  7. :loop
  8. @echo off&echo\
  9. set num=
  10. set num=%num%
  11. echo 没移位的参数为 : 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
  12. echo\&echo 参数 1234 始终没有变化,但后面的却在逐位变化,前移。
  13. echo\
  14. :: 作者:随风   @bbs.bathome.net   2007-11-10
  15. ::
  16. call :lis 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
  17. color 0b
  18. echo\&echo 测试完毕,按任意键退出 ……
  19. echo\&pause>nul&exit
  20. :lis
  21. set /p=%num%<nul
  22. if "%5"=="" goto :eof
  23. shift /5
  24. set /p=移位后的参数为 : %1 %2 %3 %4 %5 %6 %7 %8 %9<nul
  25. set /p=     按任意键继续......<nul
  26. pause>nul
  27. goto lis
复制代码

[ 本帖最后由 随风 于 2007-12-14 14:53 编辑 ]
1

评分人数

技术问题请到论坛发帖求助!

是不错,以前很少用此命令,最近在编写一批处理程序时用到感觉此命令很好用
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

反正我没用过

TOP

不懂也看看
学了还得学 images/avatars/06.gif

TOP

里面有几个看不懂能不能给解释一下,loop  num     call   lis  color 0b    goto :eof       >unl 这些我都看不懂,不能帮忙解释一下啊谢谢了。

TOP

基本看不懂,可能是太晚了想睡觉了
这个字符是什么意思呢?我一直都弄不明白!

TOP

,应该是显示错误吧?

TOP

 楼主帮忙解释下这个是什么意思吧!
不管黑猫白猫,会捉老鼠的猫就是好猫!

TOP

回复 8楼 的帖子

一个就是一个退格键backspace,作用就是删除前面一个字符
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9楼 的帖子

确切地说,一个退格符是将光标往前移动一位,接着出现的字符会将原来的字符覆盖。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

9楼只是为了单纯回答8楼的问题,如果具体到在楼主代码中的作用,请参考10楼解答^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

怎么输入   谢谢

TOP

刚刚接触,不太明白。。。

TOP

闪烁效果

@echo off
setlocal enabledelayedexpansion
title 闪烁效果
:start
color 0e
set str=人生得意须尽欢
for /l %%i in (0 1 6) do (
    set /p=!str:~%%i,1!<nul
    rem 依次取出变量str中的每一个字符,并显示
    ping -n 0 127.1>nul
    rem 设置每个输出字符的延迟时间
)
set /p a=<nul
rem 输出一些退格符使光标置于该行最左端
set /p a=                  <nul
rem 输出空格将之前文字覆盖
set /p a=<nul
rem 再次输出退格符使光标位于最左端(数量要多余之前的空格数)
goto start

TOP

先学习下,有问题再问

TOP

返回列表