①转到当前目录: 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=
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