找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 34035|回复: 7

[系统相关] 批处理命令start里面的一对双引号有何作用?

[复制链接]
发表于 2011-12-23 10:33:52 | 显示全部楼层 |阅读模式
start命令的命令的基本格式为:start “title” ,filename,但是经常会看到如下程序:
  1. start "" "%windir%\system32\NOTEPAD.EXE" "%userprofile%\桌面\abc.txt"。
复制代码
请教这里为什么title参数为空,title参数究竟有什么用呢?另外这里为什么要加打开文件的应用程序的路径"%windir%\system32\NOTEPAD.EXE"呢?
发表于 2011-12-23 11:50:41 | 显示全部楼层
title 是打开文件的标题,如果需要notepad打开abc.txt  肯定要指定路径,否则就会被默认关联的程序打开,而不一定是notepad
发表于 2011-12-23 21:45:16 | 显示全部楼层
如果没有那对双引号,遇到带空格的路径就会出错:
  1. start "C:\Program Files\Internet Explorer\iexplore.exe"
复制代码
 楼主| 发表于 2011-12-26 11:24:55 | 显示全部楼层
能举一个title不为空的例子吗?另外经常看到用start excel来启动excel,请教这里的参数excel是title吗?为什么不加双引号呢?
发表于 2011-12-26 12:15:24 | 显示全部楼层
回复 4# saint_Zuo


这里的excel不是title,而是command/program,系统会根据PATH变量的设置查找到excel程序的路径,然后打开它。

title非空的例子:
  1. start "awk" "C:\windows\system32\cmd.exe"
复制代码
发表于 2011-12-29 14:48:46 | 显示全部楼层
title 其实只能改变cmd窗口或者.bat脚本的标题。——用处不大,妨碍不小。
发表于 2015-11-1 22:58:50 | 显示全部楼层
本帖最后由 crist 于 2015-11-1 23:13 编辑

回复 6# Hello123World

  1. @echo off
  2. title test
  3. start /wait notepad
  4. pause
  5. start "" /wait notepad
  6. pause
  7. start "abc" /wait notepad
  8. pause
复制代码
在这个批处理里面看不出title的作用,真不明白为何有时候不用它会出错,用它又没什么意义的感觉呢?

  1. start "C:\Program Files"
  2. rem 结果弹出一个标题为C:\Program Files的cmd窗口
  3. pause
  4. start "C:\Windows"
  5. rem 结果弹出一个标题为C:\Windows的cmd窗口
  6. pause
  7. start C:\Windows
  8. rem 顺利打开Windows文件夹
  9. pause
  10. start "" "C:\Windows"
  11. rem 顺利打开Windows文件夹
  12. pause
复制代码
也许start总是把它后面第一个引号当作title,而如果要运行的程序必须用引号的时候就会被cmd错误的当作title,因此导致运行出错,所以最好不要省略title参数。不知这样理解对不对?
发表于 2015-11-2 01:47:50 | 显示全部楼层
回复 7# crist


    对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 13:20 , Processed in 0.018734 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表