Board logo

标题: [其他] 请问如何在for in()中使用其它命令结果而不是具体文件? [打印本页]

作者: fydm    时间: 2009-8-20 09:34     标题: 请问如何在for in()中使用其它命令结果而不是具体文件?

@echo off
route print>route.txt
for /f "tokens=1,2*" %%a in ('findstr "Default" route.txt') do set "ip=%%c"
route add 208.0.0.0 mask 255.0.0.0 %ip%
pause

想将路由表中的默认路由提取出来,然后做增加路由的操作,由于水平很菜,代码中生成了route.txt的文件,现在不想有这样的文件,想在for in()里面直接使用route print命令的结果,将代码改成for /f "tokens=1,2*" %%a in ('route print | findstr "Default"') do set "ip=%%c"后,窗口一闪就没了(有pause的情况下窗口闪是否表示有语法错误?),请问for in()括号里面该怎样改才行?
谢谢大家指点!
作者: 基拉freedom    时间: 2009-8-20 09:53

转义符
^|
~~~~
作者: fydm    时间: 2009-8-20 10:46

谢谢,改成^|就好了,
但是 | 作为命令符有何不妥呢?为什么要转成普通字符呢?
作者: keen    时间: 2009-8-20 10:55     标题: 回复 3楼 的帖子

这跟批处理的预处理机制有关,可以参考:
http://www.bathome.net/viewthrea ... =%D4%A4%B4%A6%C0%ED




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