编辑
如果您想在计算机启动或基于事件执行任何任务,这非常有用。
回到问题
我有两个问题:
我想在启动命令提示符时执行一些特定的命令。
例如,
cls
用于清除我的命令提示符。我想在批处理文件中执行一些命令,并等待用户输入新命令(如果有)。
例如:一个批处理文件将带用户前往某个指定的文件夹,然后等待用户从命令提示符中重命名/删除文件。
我该如何做呢?
编辑
如果您想在计算机启动或基于事件执行任何任务,这非常有用。
回到问题
我有两个问题:
我想在启动命令提示符时执行一些特定的命令。
例如,cls
用于清除我的命令提示符。
我想在批处理文件中执行一些命令,并等待用户输入新命令(如果有)。
例如:一个批处理文件将带用户前往某个指定的文件夹,然后等待用户从命令提示符中重命名/删除文件。
我该如何做呢?
%USERPROFILE%
):reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun ^
/t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f
然后在您的个人资料文件夹中创建一个名为 init.cmd
的文件:
@echo off
command_A
command_B
...
cls
要撤销这些更改,请delete注册表键:
reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun
C:\Users\<Your username>\Desktop\cmd.exe
,替换为 -cmd /K <your command here>
例如:
C:\Users\Lewis\Desktop\cmd.exe -cmd /K color 1f
这是一种无需修改注册表即可运行一个命令的方法。
你可以使用 &
(and)操作符来执行多个命令。
例如:
C:\Users\Lewis\Desktop\cmd.exe -cmd /K color 1f & H: & <your command>
致谢:user6589073
我找到了答案:我应该使用/K
开关,使用它可以在打开的命令提示符中输入新命令。
例如,cmd /K cls
会为我打开一个命令提示符并清除它。(对第一个问题的回答)
cmd /K MyBatchFile.bat
将启动一个命令提示符,执行批处理文件并停留在该命令提示符上不退出。(对第二个问题的回答)
稍作扩展,这里是 Windows 10 的另一种方法,可以在执行命令提示符时定义并应用多个别名。
%USERPROFILE%
文件夹中创建一个名为 init.cmd
的文件,其中包含别名:init.cmd
@echo off
doskey c=cls
doskey d=cd %USERPROFILE%\Desktop
doskey e=explorer $*
doskey g=git status
doskey l=dir /a $*
在命令提示符中运行:
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f
完成
现在,init.cmd文件的内容将运行cmd.exe的执行,即从以下位置:
cmd
在注册这些设置后,请记得关闭/打开:
要注销它,请运行:
reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun
首先,需要按下 Windows 键 + R。 在弹出的框中,键入“regedit”(不带引号)。 Windows 注册表编辑器将会打开。 现在,定位到 HKEY_CURRENT_USER/Software/Microsoft/Command Processor。 一旦你在左侧点击了“Command Processor”,点击顶部菜单上的“编辑”。 然后进入“编辑”菜单中的“新建 > 字符串值”。 将显示的字符串值重命名为 Autorun。 右键单击 Autorun 并选择“修改”。 在“数值数据”区域下,输入要运行的命令。您可以通过在它们之间输入 && 来运行多个命令。
我有一个命令来运行一个Python程序。我不想在登录后手动运行此命令,我希望此命令在我登录到Ubuntu后自动运行。我正在使用Ubuntu 16.04。
这是命令。
sh demo_darknet_yolov3.sh,此shell位于此目录中littro@littro-System-Product-Name:~/MobileNet-YOLO-master/MobileNet-YOLO-master
根据您的脚本,您可能想要使用cmd.exe /k <input script>
方法,而不是注册表项Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\autorun
我发现后者会影响启动cmd的其他程序。例如,我无法使Visual Studio Native Tools提示正常工作,因为我的脚本会妨碍它。在我的情况下,脚本是一个菜单,包括5个选项,包括手动启动各种程序(我喜欢最小化自动运行的程序)和设置各种环境变量(例如打印机、代理设置、程序的默认版本等)。
如果您正在进行静态操作,我认为两种方法都可以。
我本来想在问题或适用的答案上发表评论,但我没有足够的声望来评论。