标题: [文件操作] [已解决]如何用批处理开启其他档案且不等待? [打印本页]
作者: strong12345 时间: 2009-6-26 09:03 标题: [已解决]如何用批处理开启其他档案且不等待?
开启别的档案有3个指令
没引号:- start 档案路径
- call 档案路径
- 档案路径
复制代码
有引号:- start "档案路径"
- call "档案路径"
- "档案路径"
复制代码
如果现在要同时开启多个文件不等待,只有start能实现不等待效果,其余2者皆会先开启1并等待1结束后,在开启2
(ps)小弟发现,有没有加引号有一些差别,除了路径中包含空白之外,加上了引号有时反而会呼叫出另一个dos视窗,而不是预期之效果,下面就说明一下
直接说小弟的问题∶
%cd% 在桌面的情况下 (C:\Documents and Settings\Administrator\桌面)←必有包含空白
小弟想用批处理同时开启档名为 ‘原批处理档名(数字).txt’的文件
例如批处理档名为 test.bat
想同时开启 test1.txt 和 test2.txt ...........到 test6.txt 文件- set "name=%~0"
-
- ::开启test1.txt (用call不包含引号)
- call %name:.bat=1.txt%
-
- ::开启test2.txt (用call包含引号)
- call "%name:.bat=2.txt%"
-
- ::开启test3.txt (不包含引号路径)
- %name:.bat=3.txt%
-
- ::开启test4.txt (包含引号路径)
- "%name:.bat=4.txt%"
-
- ::开启test5.txt (用start不包含引号)
- start %name:.bat=5.txt%
-
- ::开启test6.txt (用start包含引号)
- start "%name:.bat=6.txt%"
-
- pause
复制代码
执行后,会先开启 test2.txt 并等待 test2.txt 视窗关闭,之后在开启 test4.txt 并等待 test4.txt 视窗关闭
然后 test5.txt 找不到路径 , 然后 test6.txt 开启失败,反而多一个dos视窗
我想让 test1.txt .... 到 test6.txt 同时以记事本开启,请问该怎办?
(档名不固定,一定要用 %0来获取档名)
[ 本帖最后由 strong12345 于 2009-6-26 10:15 编辑 ]
作者: pusofalse 时间: 2009-6-26 09:08
有引号?试下这样:- start "" "C:\Documents and Settings\Administrator\桌面\Test1.txt"
复制代码
不要问为什么,反正就是这样的用法。
作者: strong12345 时间: 2009-6-26 10:10
版主果然英明神武
小弟佩服万分
作者: sampeck 时间: 2009-6-26 10:56
start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。
作者: zqz0012005 时间: 2009-6-26 15:08
pusofalse:“不要问为什么,反正就是这样的用法。”
这样说会引起误解。其实是这个意思:不要问为什么,因为语法是这样规定的。首次出现的引号会作为标题(虽然这个标题对于非命令行程序没有作用)。
楼上的需要引用那么多吗。。。
一句点明关键即可,你说这么多反而会让人摸不着头脑。
作者: sampeck 时间: 2009-6-30 10:07
原帖由 zqz0012005 于 2009-6-26 15:08 发表
pusofalse:“不要问为什么,反正就是这样的用法。”
这样说会引起误解。其实是这个意思:不要问为什么,因为语法是这样规定的。首次出现的引号会作为标题(虽然这个标题对于非命令行程序没有作用)。
楼上的需要 ...
以后注意一点.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |