随笔分类 -  Dos

摘要:先来说说变量延迟扩展吧。当然,放狗一搜,就能看到满天飞的关于变量延迟扩展的文章,所以,我这里就简单介绍一下。先来看一段批处理:set str=testif %str%==test ( set str=another test echo %str%)上面的代码段极其简单,给str赋值,判断其值是否为test,如果是,重新赋值为another test,再显示str的值。作为正常人的思维,这里显示的肯定是another test了,但其实不是,其显示的仍然是test,这是为什么?因为:windows在解释执行此代码段时,在遇到if语句后的括号后,只把它当一条语句处理而不是两条语句,所以... 阅读全文
posted @ 2012-02-16 22:25 ini_always 阅读(19100) 评论(18) 推荐(12)
摘要:本文参考自:http://www.intelliadmin.com/index.php/2007/02/simplify-unc-usage-in-command-line-batch-files/在有些时候,需要在批处理中操作UNC目录,但批处理并不能直接对UNC目录进行操作,怎么办?废话少说,先上图:(图中抹去的部分是一个IP地址)从图上可以看到,在开始使用cd命令跳转到UNC目录时,会出现"CMD does not support UNC paths as current directories."的提示,即cd命令只能在本地目录跳转,却不能跳转到UNC目录。那如何是 阅读全文
posted @ 2011-10-09 20:57 ini_always 阅读(6333) 评论(0) 推荐(0)
摘要:前几天写了一个批处理小工具,本来我用着好好的,结果在QA那边用的时候出错了,一问才知道,他们不是在本机运行,而是在局域网的机器上运行的。一查才知道,原来是%cd%的问题。(%cd%代表当前文件夹,但如果运行批处理的路径是一个UNC路径,那么%cd%会被重定义为C:\Windows)也就是说,在含有UNC路径的时候,%cd%已经不再是当前文件夹。想起批处理中的几种路径扩展,于是忍不住来比了一把,批处理内容如下:@echo offclsecho %~0echo %~f0echo %~d0echo %~p0echo %~n0echo %~x0echo %~s0echo %~a0echo %~t0ec 阅读全文
posted @ 2011-09-21 21:41 ini_always 阅读(4510) 评论(3) 推荐(1)
摘要:上午只是把问题解决了,后来再放狗一搜,发现一篇比较详细的介绍批处理重定向的文章,鉴于写得比较好,我就懒得再自己写,直接贴于下面:===============================我是霸气的分界线===============================重定向符号有 < 、> 、>> 、<& 、>& 和 | 共六个。 重定向符号的作用如下表所示: 符号 作用 —————————————————————————————— < 从文件或设备(如默认的 con 键盘)中读取命令输入。 > 将命令输出写入到文件或设备(如 p 阅读全文
posted @ 2011-09-15 19:31 ini_always 阅读(5365) 评论(0) 推荐(1)
摘要:又好长时间没写博客了,主要是前一段时间觉得没什么好写的。但现在我决定写一篇,虽然上班时间写博客不太好,但要写的内容让我心情很激动,所以我决定现在就写了。最近在用InstallShield写些Install Script脚本,给Team做Installation的support,但因为有些注册表项需要删掉,于是又写了一个批处理用来在安装之前删除注册表。为了不让删除注册表的信息在控制台回显,我使用了 > nul 来处理。现在问题来了,如果注册表中相关的项已经不存在,那么在删除时控制台会显示找不到注册表项的错误信息,本来这也没啥,但Team的QA说了:你既然正常删除不显示,那么删除出错也应该不 阅读全文
posted @ 2011-09-15 10:21 ini_always 阅读(3780) 评论(0) 推荐(0)