- OS : Windows 10 Version 1909
- blog : 师万物
- typesetting : Markdown
代码
C:\Users\Student>start "" "C:\Program Files"
注释
博主 yzing 写道
start C:\Program Files 失败
start "C:\Program Files" 加引号还是失败
这是因为start 默认第一对"里面是它的 ["title"] 参数
正确的写法是 start "" "C:\Program Files"
这里把第一对空"作为 start 的 ["title"] 参数,后一对",则是 [command/program]
start 支持 环境变量,如果环境变量路径带空格,写法是 start "" "%ProgramFiles%"
https://www.cnblogs.com/bulemaple/articles/3457920.html
知识扩展
C:\Users\Student>start /?
启动一个单独的窗口以运行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" 在窗口标题栏中显示的标题。
path 启动目录。
B 启动应用程序,但不创建新窗口。
应用程序已忽略 ^C 处理。除非应用程序
启用 ^C 处理,否则 ^Break 是唯一可以中断
该应用程序的方式。
I 新的环境将是传递
给 cmd.exe 的原始环境,而不是当前环境。
MIN 以最小化方式启动窗口。
MAX 以最大化方式启动窗口。
SEPARATE 在单独的内存空间中启动 16 位 Windows 程序。
SHARED 在共享内存空间中启动 16 位 Windows 程序。
LOW 在 IDLE 优先级类中启动应用程序。
NORMAL 在 NORMAL 优先级类中启动应用程序。
HIGH 在 HIGH 优先级类中启动应用程序。
REALTIME 在 REALTIME 优先级类中启动应用程序。
ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
NODE 将首选非一致性内存结构(NUMA)节点指定为
十进制整数。
AFFINITY 将处理器关联掩码指定为十六进制数字。
进程被限制在这些处理器上运行。
将 /AFFINITY 和 /NODE 结合使用时,会对关联掩码
进行不同的解释。指定关联掩码,以便将零位作为起始位置(就如将 NUMA
节点的处理器掩码向右移位一样)。
进程被限制在指定关联掩码和 NUMA 节点之间的
那些通用处理器上运行。
如果没有通用处理器,则进程被限制在
指定的 NUMA 节点上运行。
WAIT 启动应用程序并等待它终止。
command/program
如果它是内部 cmd 命令或批文件,则
该命令处理器是使用 cmd.exe 的 /K 开关运行的。
这表示运行该命令之后,该窗口
将仍然存在。
如果它不是内部 cmd 命令或批文件,则
它就是一个程序,并将作为一个窗口化应用程序或
控制台应用程序运行。
parameters 这些是传递给 command/program 的参数。
注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。
通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式
创建进程。例如,可以创建两个完全
通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,
从而最大限度地减少内存延迟。只要有可能,
它们就会分配来自相同 NUMA 节点的
内存,并且会在指定节点之外的处理器上自由运行。
start /NODE 1 application1.exe
start /NODE 1 application2.exe
这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器
上运行。在以下示例中,application1 在
节点的两个低位处理器上运行,而 application2
在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑处理器。请注意,节点号可更改为该计算机的任何有效节点号,
而无需更改关联掩码。
start /NODE 1 /AFFINITY 0x3 application1.exe
启动 /NODE 1 /AFFINITY 0xc application2.exe
如果命令扩展被启用,通过命令行或 START 命令的外部命令
调用会如下改变:
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
FTYPE 命令。
执行的应用程序是 32 位 GUI 应用程序时,CMD.EXE 不等应用
程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
防止从当前目录提取 CMD.EXE。
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
与目录名相配。如果确实如此,START 会在那个路径上调用
Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
C:\Users\Student>
学习推荐
感恩曾经帮助过 师万物 的人。
cmd能执行普通任务、命令简单和启动速度快,建议学习。
学有余力的话,可以了解一下PowerShell、PowerShell Core和Linux Shell。
欢迎关注公众号:悟为生心