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

[文件操作] [已解决]调用开启延迟变量的批处理是否会使该批处理开启延迟变量

问题一
现在我有2个批处理,名字为a.bat和b.bat
b.bat的开头开启了变量延迟
  1. setlocal enabledelayedexpansion
复制代码
a.bat中的内容是
call "b.bat"
但是a.bat中如果开启变量延迟就会导致运行出错,我想知道在a.bat中调用b.bat是否会导致a.bat开启变量延迟

问题二
我通过
  1. if exist %updatefailedpath%\lib\sp\*.tmp
复制代码
来判断该文件夹下是否有tmp文件,现在我想知道该文件夹及其子文件夹中是否有tmp文件,不知应如何实现

望指教,不胜感激!

[ 本帖最后由 hxf0759 于 2009-7-4 17:59 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

有谁能指点一下么

有谁能指点一下么,感激不尽!

TOP

回复 1楼 的帖子

对于你的问题一,我想你完全可以自己做个实践,自己编造a.bat和b.bat文件进行试验,试验完后就可以知道结果。

对于问题二,可以用for /r参数:
  1. @echo off
  2. for /r %updatefailedpath%\lib\sp %%i in (*.tmp) do echo %%i
  3. pause
复制代码
(*^_^*)

TOP

原帖由 keen 于 2009-7-1 10:39 发表
对于你的问题一,我想你完全可以自己做个实践,自己编造a.bat和b.bat文件进行试验,试验完后就可以知道结果。

对于问题二,可以用for /r参数:@echo off
for /r %updatefailedpath%\lib\sp %%i in (*.tmp) do ec ...


请问keen我测试的好像是不会开启变量延迟,但是我不能确定,还有我的系统是windows2003 server不知道这个在XP和2000系统中是否会有不同

TOP

回复 4楼 的帖子

我也测试了,应该是不会开启变量延迟。
应该不会随着系统改变而改变,没有测试过,你可以装个虚拟机,测试一下。
(*^_^*)

TOP

不可以,在P内调用标签也不可以。

TOP

看命令帮助嘛。。。

setlocal /?
开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后
所做的环境改动只限于批处理文件。要还原原先的设置,必须执
行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个
尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。

命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

我的测试都可以

两种情况都可以啊!我的系统是win7

TOP

返回列表