Windows批处理(cmd)(bat) 使用/应用记录

①转到当前目录: cd /d %~dp0
拷贝文件 xcopy /s /y ..\rootFolder\subfolder \\172.16.1.1\sharefolder\ /EXCLUDE:exclude.txt
表示拷贝subforlder文件夹中所有文件(包括子文件夹)到共享目录,但除了exclude.txt中设置的类型文件或文件夹,需要注意subfolder后面没有斜杠\,但是目标文件夹有斜杠sharefolder\
exclude.txt例子
\logs\ 表示logs文件夹
.config 表示.config的文件

②临时变量: set svr=192.168.1.1   表示创建变量名为svr,值为192.168.1.1.

创建临时变量并获取输入的值: set /p username=请输入用户名:   表示创建变量名为username的变量,值需要从输入读取,"请输入用户名:"这个是用来显示的不会是变量的值

 

③判断输入的是否为空  
if [%username%]=[] (
echo user name cannot be empty.
goto inpuuser
)
else (echo welecome %username%)

其中%username%表示读取变量名为username的值,括号中可以写多行代码,但第一个括号要写在if同一行

 

④启动停止远程服务器windows服务(如果是本机服务,则不需要输入服务器名)
sc \\172.168.1.1 stop ServiceName

sc \\COMPONENT-NAME start serviceName

 

⑤注册/删除windows服务器
sc create 服务名称 binpath="c:\folder\myapp.exe"
sc delete 服务名称
配置windows服务
sc config 服务名称 start=AUTO 设置启动状态为自动
sc config 服务名称 obj=domian\username password=123456 设置服务启动的账号

⑥创建远程服务器连接
重启远程机器上的服务时需要用户密码,批处理中需要先创建连接
net use \\服务器ip或名称 password /user:用户名
net logoff 

⑦其他
将命令的结果输出到文件: 在命令最后加>>a.log, 比如:net use \\server password /user:username >>chk.log,意思是连接server服务器,并将结果输出到chk.log文件中
读取文本文件的第一行 set /p lineone= 判断命令结果是否为你想要的结果,例子:
net use \\%server% password /user:username >>chk.log
set /p chk= set success=The command completed successfully
if ["%chk%"]==["success"] (
del chk.log
)else (
echo no authority for server:%server%.
del chk.log
exit
)

pause

⑧创建IIS站点


--创建iis站点及程序池
@echo off
rem 以管理员身份执行本脚本,可添加多条call 以建立多个站点
call path\to\createSites.bat mynewsite d:\Sites\sitepath * 8123
pause

--createSites.bat
@echo off 
rem 以管理员身份执行本脚本 
set p_sitename=%1 
set p_root_path=%2
set p_host=%3 
set p_port=%4

set site_name=%p_sitename% 
echo sitename: %site_name% 

set physical_Path=%root_path%
echo %physical_Path% 

set domain_name=%p_host%
echo %domain_name% 

set port=%p_port%
echo %port% 

mkdir %physical_Path% 

inetsrv\appcmd delete site /name:%site_name% 
inetsrv\appcmd delete apppool /name:%site_name%

inetsrv\appcmd add site /name:%site_name% /physicalPath:%physical_Path% /bindings:http/*:%port%:%domain_name% 
inetsrv\appcmd add apppool /name:%site_name% /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated 

inetsrv\appcmd set site /site.name:%site_name% /[path='/'].applicationPool:%site_name% 
inetsrv\appcmd set site /config -

rem 修改应用程序池启动模式:
inetsrv\appcmd set apppool /name:%site_name% /config /startMode:"AlwaysRunning" 
rem 修改应用程序池标示
inetsrv\appcmd set apppool /name:%site_name% /processModel.identityType:"SpecificUser" /processModel.userName:"username" /processModel.password:"password"


rem 以下两行用于删除站点和应用程序池 
rem inetsrv\appcmd delete site /site.name:%site_name% 
rem inetsrv\appcmd delete apppool /apppool.name:%site_name% 
pause


rem 列出所有iis站点 inetsrv\appcmd list site

你可能感兴趣的:(Windows)