Board logo

标题: [其他] 批处理之疑点 [打印本页]

作者: 8482984    时间: 2012-11-7 11:05     标题: 批处理之疑点

本人是在学校机房中发现的:

运行写好的bat批处理文件,提示 例如“net”不是内部或外部命令,也不是可运行的程序和批处理文件。?
查询得知,是在环境变量之系统变量path路径中缺少c:\windows\system32 路径值。可以通过在系统变量path中添加此路径解决。
或是在批处理文件中,加入 start c:\windows\system32\cmd.exe,发现其后的命令都得不到执行。

1、可不可通过批处理添加 c:\windows\system32 到系统变量中?

2、在批处理中,start c:\windows\system32\cmd.exe 后,以后的命令都可以执行?
作者: CrLf    时间: 2012-11-7 17:22

1、
  1. path c:\windows\system32;%path%
复制代码
  1. set "path=c:\windows\system32;%path%"
复制代码
这两句是基本等价的,只是第二个可能稍严谨一点,因为 %path% 也许含有特殊字符。最严谨的办法还是开启变量延迟后再赋值
  1. setlocal enabledelayedexpansion
  2. path c:\windows\system32;!path!
复制代码
2、不是,cmd 找到外部命令有几种途径:
  1. 人为指定所在路径
  2. 当前工作路径下存在同名可执行文件
  3. path 的路径中存在同名可执行文件
复制代码
执行 start c:\windows\system32\cmd.exe 后,工作路径还是当前路径,所以和 start 前的状态没啥区别
作者: 8482984    时间: 2012-11-9 18:37

回复 2# CrLf
你说的这个操作,是不是直接添加到path环境变量中?还是只是作用在这个批处理的过程中?




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