CMD常用命令17常用软件注册为Widows服务

1、Apache注册为Widows服务

httpd -k install

2、MySQL注册为Widows服务

mysqld --install MySQL --defaults-file="D:\MySQL\MySQL Server 5.1\my.ini"

3、PostgreSQL注册为Widows服务

pg_ctl.exe register -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w

4、SVN注册为Widows服务

sc create svnserve binPath= "\"D:\Subversion\bin\svnserve.exe\" --service -r \"D:\Subversion\repository\"" displayname= "Subversion Service" depend= Tcpip start= auto 
sc start svnserve 
sc stop svnserve 
sc delete svnserve

5、redis注册为Widows服务

#loglevel 分为debug, notice, warning三级
redis-server.exe --service-install D:\Database\Redis2.8\db\redis.windows.conf --loglevel notice
redis-server --service-start
redis-server --service-stop
redis-server --service-uninstall

6、mongodb注册为Widows服务

mongod --dbpath=D:\Database\MongoDB3\db --logpath=D:\Database\MongoDB3\log\mongo.log --port 27027 --noauth --install -serviceName MongoDB01 --serviceDisplayName MongoDB01 
net start MongoDB01

CMD常用命令16获取命令行参数

wmic process where caption="java.exe" get caption,commandline /value

"D:\NeoLang\Java\JDK\jdk_x64_1.8.0_77\bin\java.exe"
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
-classpath "D:\NeoLang\Java\JavaContainer\apache-tomcat-8.5.16-windows-x64\bin\bootstrap.jar;D:\NeoLang\Java\JavaContainer\apache-tomcat-8.5.16-windows-x64\bin\tomcat-juli.jar"
-Dcatalina.base="D:\NeoLang\Java\JavaContainer\apache-tomcat-8.5.16-windows-x64"
-Dcatalina.home="D:\NeoLang\Java\JavaContainer\apache-tomcat-8.5.16-windows-x64"
-Djava.io.tmpdir="D:\NeoLang\Java\JavaContainer\apache-tomcat-8.5.16-windows-x64\temp"
org.apache.catalina.startup.Bootstrap  start

"C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe"
-Djetty.home=D:/GitHub/Jetty/binary/jetty-distribution-9.4.18.v20190429
-Djetty.base=D:/GitHub/Jetty/binary/jetty-distribution-9.4.18.v20190429
-Djava.io.tmpdir=C:/Users/Hansen/AppData/Local/Temp
-jar D:/GitHub/Jetty/binary/jetty-distribution-9.4.18.v20190429/start.jar jetty.state=D:/GitHub/Jetty/binary/jetty-distribution-9.4.18.v20190429/jetty.state jetty-started.xml

CMD常用命令15获取管理员权限模板

@echo off

:AQUIRE_ADMINISTRATOR_PRIVILEGE
rem 获取管理员权限
rem 首先在%windir%尝试新建文件夹,查看是否有管理员权限
rem 如果新建文件夹成功则删除文件夹,继续操作
rem 如果失败文件夹则新建vbs脚本,通过UAC窗口,获取管理员权限
rem 运行脚本后,删除vbs脚本
md "%windir%\TestAdminPrivilege" > nul
cls
if '%errorlevel%' == '0' (
rmdir "%windir%\TestAdminPrivilege" & goto gotAdmin
) else (goto UACPrompt)
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute %0, "", "", "runas", 1  >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs")
CD /D "%~dp0"

:Init
REM 设置窗口标题,窗口颜色,并输出提示信息,通过输入来判断跳转到哪里
cls
title CMD窗口标题
color A
set CHOICE=
echo ----------------------------提示信息标题-------------------------------------
echo.
echo                             提示信息内容
echo                             提示信息内容
echo.
echo ----------------------------------------------------------------------------
echo           您需要以管理员身份运行,或关闭“用户帐户控制(UAC)”
echo ----------------------------------------------------------------------------
:RE_INPUT
echo.
echo  键入 i 安装,键入 r 卸载,键入 q 退出 (键入后请按回车键确认)
set /P CHOICE= ^> 选择:
if /I "%CHOICE%" == "i" goto INSTALL_DETECT
if /I "%CHOICE%" == "r" goto REMOVE
if /I "%CHOICE%" == "q" goto END
goto INPUT_UNKNOWN

:REMOVE
echo  删除提示信息
rem del /F /Q FULL_FILE_PATH
REM reg IMPORT UNINSTALL_DRIVER.REG
goto REMOVE_END

:REMOVE_END
echo  卸载完毕提示信息
goto END

:INSTALL_DETECT
REM 判断32位还是64位系统
if /I "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto INSTALL64
if /I "%PROCESSOR_ARCHITECTURE%" == "x86" goto INSTALL32
goto INSTALL_UNKNOWN

:INSTALL64
echo  将为您安装64位程序
echo  安装提示信息
REM copy /Y FROM_PATH_64 TO_PATH
REM reg IMPORT INSTALL_DRIVER.REG
goto INSTALL_END

:INSTALL32
echo  将为您安装32位程序
echo  安装提示信息
REM copy /Y FROM_PATH_32 TO_PATH
REM reg IMPORT INSTALL_DRIVER.REG
goto INSTALL_END

:INSTALL_END
echo  安装成功提示信息
goto END

:INPUT_UNKNOWN
echo  键入的信息错误,请重试
goto RE_INPUT

:INSTALL_UNKNOWN
echo  未能识别您的系统信息,无法为您安装驱动,您可能需要手动安装
goto END

:END
REM 清理环境变量
echo.
set CHOICE=
pause
# 使用myuid来执行mycmd
# 需要输入密码
runas /noprofile /user:myuid mycmd
# 执行命令时不按enter
# 而是按ctrl+shift+enter
ctrl+shift+enter

CMD常用命令12切换网络

1、切换为DHCP

@netsh interface ip set address name="本地连接" source=dhcp

@netsh interface ip set dns name="本地连接" source=dhcp

2、切换为静态IP

@netsh interface ip set address name="本地连接" source=static addr=xxx.xxx.xxx.xxx mask=255.255.255.0 gateway=xxx.xxx.xxx.xxx

@netsh interface ip set dns name="本地连接" source=static addr=xxx.xxx.xxx.xxx

CMD常用命令08特殊符号

1、.
表示当前目录

dir .\

2、..
表示上一级目录

dir ..\

3、””
界定符号,通常用来引用有空格的目录

dir "c:\Documents and settings"

4、::
注释,和REM类似

5、*
通配符号,表示任意个字符

dir c:\windows\*.log

6、?
通配符号,表示任意一个字符

dir c:\?indows

7、^
转义符

echo ^> >d:\1.txt

8、@
只显示命令执行结果

@echo 你好

9、>
重定向符号,覆盖

dir c:\ > d:\test.txt

10、>>
重定向符号,追加

dir c:\ >> d:\test.txt
dir d:\ >> d:\test.txt

11、|
管道符

netstat -an | find "135"

12、,
某些时候可以当空格来使用

echo,
dir,c:\

13、;
当命令相同时,可以将不同目标用来隔离

dir c:\;d:\

14、&
两个命令连续执行

dir c:\ & dir d:\ & dir e:\

15、&&
当&&前的命令执行成功时,执行&&后的命令

dir c:\ && dir d:\
dir z:\ && dir d:\

16、||
当||前的命令执行失败后,才执行||符号后的内容

dir z:\ || dir c:\
dir c:\ || dir d:\

17、%
%%用于引用变量

set hello=hi
echo %hello%

18、:
标签

@echo off
:again
echo It's me again :)
pause
goto again

CMD常用命令07Bat截取字符串

%var:~n,k%
把这条命令理解为两条子命令
n为开始截取字符的位置,从左向右位置为(0,1,2,3 ...),从右向左位置为(-1,-2,-3,-4)
k为对n右侧字符截取到的位置,k>0从n向右截取的位置,k<0从字符串尾向前截取的位置
n默认从字符串最左边开始,k默认为截断到字符串尾
@echo off
rem echo %var:~n,k%
set str=0123456789

echo 字符串为:%str%
echo 第一个字符为:%str:~0,1%
echo 第二个字符为:%str:~1,1%
echo 倒数第一个字符为:%str:~-1,1%
echo 倒数第二个字符为:%str:~-2,1%
echo 截取前三个字符:%str:~0,3%
echo 截取后三个字符:%str:~-3,3%
echo 第三个字符及其之后的字符为:%str:~2%
echo 倒数第三个字符及其之后的字符为:%str:~-3%
echo 截取到倒数第三个字符:%str:~0,-3%
echo 截取倒数第五和第四个字符:%str:~-5,2%

pause