Board logo

标题: [文本处理] 初学批处理求助 ver>nul [打印本页]

作者: lzyecho    时间: 2014-1-3 12:46     标题: 初学批处理求助 ver>nul

本帖最后由 lzyecho 于 2014-1-3 12:48 编辑

下面代码中 ver>nul 在for语句中是什么意思?特别是 ver 是什么意思,谢谢。
  1. @echo off
  2. for /l %%i in (1 1 20) do (
  3.    set /p=%%i <nul
  4.    for /l %%a in (1 1 500) do ver>nul
  5. )
复制代码
注:for /l %%a in (1 1 500) do ver>nul,它的目的是利用for循环运行某一命令来达到延时显示的目的。
作者: DAIC    时间: 2014-1-3 14:23

ver是一个普通的系统命令,它的作用是查看系统的版本。
ver>nul表示把ver命令的输出屏蔽掉。
目的是:利用for循环运行某一命令来达到延时显示的目的。
作者: PowerShell    时间: 2014-1-4 12:21

木有sleep的悲哀
作者: lzyecho    时间: 2014-1-5 18:44

回复 2# DAIC


    感谢您的回复,有些理解了(我知道ver是查版本的,但是不懂放在这里是什么意思),我以为ver>nul是特指另的什么的,现在明白,这里可以是任意的命令,只要输出屏蔽掉就行,以达到延时的目的。我发现有些话非得要别人再说一次才能懂,自己第一次看就是不明白。再次感谢!
作者: lzyecho    时间: 2014-1-5 18:46

回复 3# PowerShell


   版主, “木有sleep的悲哀” ------  没有睡觉的悲哀?? 什么意思,不懂,请明示。
作者: PowerShell    时间: 2014-1-5 19:02

木有sleep命令的悲哀,----注意高版本延时用timeout这个命令。powershell延时用sleep命令
作者: DAIC    时间: 2014-1-6 08:45

回复 5# lzyecho


Linux系统可以用sleep命令来延时
Win7可以用timeout命令来延时,比如延时3秒:
  1. timeout /t 3
复制代码

作者: lzyecho    时间: 2014-1-6 21:46

本帖最后由 lzyecho 于 2014-1-6 21:55 编辑

长见识了,谢谢各位!也就是说上面的代码还可修改成下面的:
  1. @echo off
  2. for /l %%i in (1 1 20) do (
  3.    set /p=%%i <nul
  4.   timeout /t 1 >nul
  5. pause
复制代码

作者: zaixinxiangnian    时间: 2014-1-14 14:15

回复 2# DAIC


    我能看出ver>nul表示把ver命令的输出屏蔽掉但没有看出“set /p=%%i <nul”  这句的意思 和 用意 然后我就改了如下代码来理解其含义,运行后会显示 1 1 2 2 等样式的字符出来 但还是没弄明白为什么这样  望指教
  1. @echo off
  2. for /l %%i in (1 1 20) do (
  3.    set /p=%%i <nul
  4.    echo %%i
  5.    pause
  6.   )
复制代码

作者: DAIC    时间: 2014-1-14 14:35

回复 9# zaixinxiangnian


它的作用是输出一个字符串,不换行。
与之对应,echo命令在输出一个字符串之后,会换行。
作者: lzyecho    时间: 2014-1-14 16:45

小结一下:
echo  %%i    :  换行输出
set /p=%%i <nul  : 不换行输出
作者: zaixinxiangnian    时间: 2014-1-14 23:25

回复 10# DAIC


    谢谢 经多次复制粘贴尝试,,,,终于弄明白了....比较取巧的SET用法。。。
“<nul” 意思是不是把空字符传输给SET
作者: zaixinxiangnian    时间: 2014-1-14 23:49

我从新手或者个人角度感觉"set /p=%%i <nul  : " 最终意思和作用是 不换行输出  如果从SET用法和<nul解释新手很容易理解
作者: DAIC    时间: 2014-1-15 08:37

回复 12# zaixinxiangnian


其实这是非常基础的知识,但是大部分人太懒了,不愿意看教程。
http://bbs.bathome.net/viewthread.php?tid=3774#pid23888
作者: lzyecho    时间: 2014-1-15 09:47

我们正在学习中,一定会看的,不过有时看了还是不大懂的时候就得咨询你们这些高手们了,呵呵。。。
作者: Batcher    时间: 2014-1-15 09:58

回复 15# lzyecho


    论坛的作用就是让大家切磋交流的
作者: zaixinxiangnian    时间: 2014-1-16 00:11

回复 14# DAIC


    非常感谢你的推荐,我一定会认真看的
作者: zaixinxiangnian    时间: 2014-1-16 00:12

回复 16# Batcher


    Batcher    来巡贴了。。。呵呵,,,好久没来学习了。来了好亲切,也好想你们。bathome和dos联盟 真是个无私奉献 互相帮助 很纯洁的好平台。这种感觉是在其它地方感觉不到的   抱歉费话了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2