找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 81840|回复: 17

[文本处理] 初学批处理求助 ver>nul

[复制链接]
发表于 2014-1-3 12:46:52 | 显示全部楼层 |阅读模式
本帖最后由 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循环运行某一命令来达到延时显示的目的。
发表于 2014-1-3 14:23:01 | 显示全部楼层
ver是一个普通的系统命令,它的作用是查看系统的版本。
ver>nul表示把ver命令的输出屏蔽掉。
目的是:利用for循环运行某一命令来达到延时显示的目的。
发表于 2014-1-4 12:21:01 | 显示全部楼层
木有sleep的悲哀
 楼主| 发表于 2014-1-5 18:44:30 | 显示全部楼层
回复 2# DAIC


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


   版主, “木有sleep的悲哀” ------  没有睡觉的悲哀?? 什么意思,不懂,请明示。
发表于 2014-1-5 19:02:20 | 显示全部楼层
木有sleep命令的悲哀,----注意高版本延时用timeout这个命令。powershell延时用sleep命令
发表于 2014-1-6 08:45:28 | 显示全部楼层
回复 5# lzyecho


Linux系统可以用sleep命令来延时
Win7可以用timeout命令来延时,比如延时3秒:
  1. timeout /t 3
复制代码
 楼主| 发表于 2014-1-6 21:46:24 | 显示全部楼层
本帖最后由 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
复制代码
发表于 2014-1-14 14:15:51 | 显示全部楼层
回复 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.   )
复制代码
发表于 2014-1-14 14:35:40 | 显示全部楼层
回复 9# zaixinxiangnian


它的作用是输出一个字符串,不换行。
与之对应,echo命令在输出一个字符串之后,会换行。
 楼主| 发表于 2014-1-14 16:45:05 | 显示全部楼层
小结一下:
echo  %%i    :  换行输出
set /p=%%i <nul  : 不换行输出
发表于 2014-1-14 23:25:11 | 显示全部楼层
回复 10# DAIC


    谢谢 经多次复制粘贴尝试,,,,终于弄明白了....比较取巧的SET用法。。。
“<nul” 意思是不是把空字符传输给SET
发表于 2014-1-14 23:49:51 | 显示全部楼层
我从新手或者个人角度感觉"set /p=%%i <nul  : " 最终意思和作用是 不换行输出  如果从SET用法和<nul解释新手很容易理解
发表于 2014-1-15 08:37:03 | 显示全部楼层
回复 12# zaixinxiangnian


其实这是非常基础的知识,但是大部分人太懒了,不愿意看教程。
http://bbs.bathome.net/viewthread.php?tid=3774#pid23888
 楼主| 发表于 2014-1-15 09:47:16 | 显示全部楼层
我们正在学习中,一定会看的,不过有时看了还是不大懂的时候就得咨询你们这些高手们了,呵呵。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:02 , Processed in 0.032268 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表