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

[原创] 本人常用的批处理实用技巧

[复制链接]
发表于 2008-9-12 10:52:33 | 显示全部楼层

我顶

希这样的小技巧    多多贡献
发表于 2008-10-7 17:49:36 | 显示全部楼层
原帖由set /p str=%%i<nul  的时候,已经把值赋予变量 str 了,可以随时对 str 做字符串操作。

不知是我的理解错误还是对此语句不了解
这样能对 str 做字符串操作吗?
我认为并没有给 变量 str 赋值。
 楼主| 发表于 2008-10-7 17:54:34 | 显示全部楼层
  呵呵,确实是我错了,我错在没有实地测试就想当然了。
发表于 2008-10-23 11:20:22 | 显示全部楼层
看不太懂(本人基础差)以后慢慢学习。
发表于 2008-10-26 07:49:11 | 显示全部楼层
牛人。不得不佩服。。
发表于 2008-10-26 14:04:33 | 显示全部楼层
宝贵的经验啊,以后在实践中能用的到啊。谢谢
发表于 2008-11-12 23:19:35 | 显示全部楼层
原帖由 namejm 于 2008-10-7 17:54 发表

  呵呵,确实是我错了,我错在没有实地测试就想当然了。

我两个都试了,能成功写入文本的,楼主说的测试,想知道这个测试怎么进行,从哪里下手,最好能给个代码,好看看能进行测试的过程,我想我们以后也是要进行测试这一过程的
发表于 2008-11-13 08:02:18 | 显示全部楼层
收藏了,好好学习学习,谢谢整理指教。
发表于 2008-11-13 11:01:51 | 显示全部楼层

回复 22楼 的帖子

  1. @echo off
  2. rem 这样可以对变量str1赋值
  3. set str1=bathome
  4. echo %str1%
  5. rem 这样不可以对变量str2赋值
  6. set /p str2=homebat<nul
  7. echo %str2%
  8. pause
复制代码
发表于 2008-11-13 14:01:18 | 显示全部楼层
感动。。让新手少走弯路。
发表于 2009-1-25 19:48:23 | 显示全部楼层
很宝贵的经验!帮楼主顶顶!!
发表于 2009-1-28 15:52:56 | 显示全部楼层
第六点,我有不同意见,尽管我从前几点也学了不少知识!
“按照一般的思路,是在for语句中,先 set str=%%i,然后,下一步是 set str=%%i!str! ,从而实现后一句与前一句的拼接。”这话不对,其实拼接也只要一句就够了。一般的思路是这样的,循环体中只有一条语句。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (22.txt) do (
  4. set  str=!str!%%i
  5. )
  6. echo %str%
  7. pause>nul
复制代码
==========
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (22.txt) do (
  4. set /p str=%%i<nul
  5. )
  6. pause>nul
复制代码
set /p str=%%i<nul这句根本没给str赋值,因为=后面是提示文字,<nul从空设备输入空内容给str,只是表面上实现了不同行的拼接!
发表于 2009-3-9 15:07:35 | 显示全部楼层
经验分享了    谢谢楼主!!!!!!
 楼主| 发表于 2009-3-9 21:48:40 | 显示全部楼层
原帖由 taojunyi 于 2009-1-28 15:52 发表
第六点,我有不同意见,尽管我从前几点也学了不少知识!
“按照一般的思路,是在for语句中,先 set str=%%i,然后,下一步是 set str=%%i!str! ,从而实现后一句与前一句的拼接。”这话不对,其实拼接也只要一句就够了 ...

  呵呵,在这里我只是想展示常规的思路,并没有对错之分,只有简洁与否之分。

set /p str=%%i<nul这句根本没给str赋值,因为=后面是提示文字,<nul从空设备输入空内容给str,只是表面上实现了不同行的拼接!

  你这个分析很正确,屏幕上出现的内容并没有真正地赋予str,就像 "set /p str=请输入内容:"这句一样,"请输入内容:"并没有赋予str,而是只接收手工输入的内容。
发表于 2009-3-10 09:10:20 | 显示全部楼层
楼主,谢谢了!!

真心感谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 05:08 , Processed in 0.020538 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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