文章讲述了在bat脚本中使用start/d命令启动多个程序时遇到的问题,即其中一个程序会阻止命令窗口关闭。作者发现使用powershell的Start-Process命令可以避免这个问题,并提供了修改后的脚本和start命令的详细使用说明。
摘要由CSDN通过智能技术生成
powershell Start-Process "path"
来达到运行一个bat脚本,启动多个软件的作用
然而,其中一个用start命令启动的程序,会导致命令窗口不会自动关闭,关闭命令窗口也会导致此程序一并关闭,所以开始探究原因
bat脚本代码:
start /d "D:\直播\阿尔\QQ\石美丽\插件素材\karasubonk_bilibili-win32" karasubonk_bilibili.exe
start /d "C:\Program Files (x86)\StarLiveLancher" StarliveLancher.exe
powershell Start-Process "D:\直播\livehime\livehime.exe" -Verb runAs
其中,第一行运行的程序导致命令窗口不会自动关闭
解决办法:
使用powershell Start-Process代替start /d
修改后的代码
powershell Start-Process -filepath "D:\直播\阿尔\QQ\石美丽\插件素材\karasubonk_bilibili-win32\karasubonk_bilibili.exe"
start /d "C:\Program Files (x86)\StarLiveLancher" StarliveLancher.exe
powershell Start-Process "D:\直播\livehime\livehime.exe" -Verb runAs
-filepath指的是运行路径
-Verb runAs是用管理员权限运行
start /d后接的是运行目录
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 选项。
start使用转自:
start 命令 - Bat 批处理教程
start-process命令:
start-process
Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-Credential <pscredential>] [-WorkingDirectory <string>] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError <string>] [-RedirectStandardInput <string>] [-RedirectStandardOutput <string>] [-WindowStyle {Normal | Hidden | Minimized | Maximized}] [-Wait] [-UseNewEnvironment] [<CommonParameters>][-Verb <string>]
-FilePath
- 此参数用于指定在进程中运行的程序的文件名。输入与计算机上的程序相关联的文档文件或可执行文件的名称。
-ArgumentList
- 参数指定cmdlet开始进程时要使用的参数及其值。
-Credential
- 参数用于授予用户帐户执行该过程的权限。
-WorkingDirectory
- 此参数用于指定在进程中执行的文件的位置。
-LoadUserProfile
- 此cmdlet中使用此参数来加载Windows的用户配置文件,该配置文件存储在当前用户的
HKEY_USERS
注册表项中。
-NoNewWindow
- 此参数在当前窗口的控制台中启动新进程。默认情况下,PowerShell打开一个用于执行新进程的新窗口。
-PassThru
- 此参数返回由cmdlet启动的每个进程的对象。
-RedirectStandardError
- 此参数将由进程创建的错误发送到指定的文件。使用此cmdlet时,需要输入文件的路径和名称。默认情况下,进程错误将显示在控制台上。
-RedirectStandardInput
- 在命令中使用此参数时,进程可以从指定文件读取输入。要使用此参数,需要输入文件的路径和名称。默认情况下,进程从键盘读取输入。
-RedirectStandardOutput
- 此参数将由进程创建的输出发送到指定的文件。 使用此cmdlet时,需要输入文件的路径和名称。 默认情况下,进程的输出显示在控制台上。
-WindowStyle
- 此参数用于指定Windows状态,该状态用于新进程。以下是此参数可接受的值:
-
Hidden
-
Normal (默认值)
-
Maximized
-
Minimized
注意:不能在同一命令中同时使用参数
NoNewWindow
和
WindowStyle
。
-Wait
- 此cmdlet中使用此参数来等待过程完成,然后再接受更多输入
转自:https://www.yiibai.com/powershell/powershell-start-process.html
#1 一:
net use \\ip\ipc$ " " /user:" " 建立IPC空链接
net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接
net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:
net use h
命令
简介
Windows
命令
提示符(cmd.exe)是 Windows NT 下的一个用于
运行
Windows 控制面板程序或某些 DOS 程序的shell程序;或在 Windows CE 下只用于
运行
控制面板程序的外壳程序。cmd
指令
有很多,使用用途也很广!
cmd是command的缩写.即
命令
行 。
虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它
运行
安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在W
pip search&ERROR: XMLRPC request failed [code: -32500] RuntimeError: PyPI‘s XMLRPC API is ERROR: XML