rem 註釋~~
echo hello world
%1 %2
,第n個變量就用%n
表示%~dp0
%cd%
set currentPath=%cd%
@echo off
//隱藏執行路徑,@表示包含echo off這條命令也不現實路徑pause
start xxx.exe
call start xxx.exe
cd /d 路徑
dir /b /a:d
dir /b /a:-d
cmd1&cmd2
,在cmd1執行成功後執行cmd2保存:set currentPath=%cd%
輸出:echo %currentPath
app
if /i %1 == ab (echo success) else (echo %1)
asp.net
if not exist %cd%\logs md %cd%\logs
網站
for /f "delims=" %%i in ('dir /b .\') do echo %%i
.net
這個默認若是對變量進行賦值打印(echo %變量%
)出來的結果始終是第一次的賦值結果,
若要對局部變量賦值則須要啓用延遲環境變量擴展(setlocal enabledelayedexpansion
)
將其添加到頭部後,對變量賦值,而後輸出:echo !變量名!
。符號由%變動爲!
rem 輸出當前目錄下的文件文件夾 @echo off setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir /b .\') do ( set temp=%%i echo !temp! )
@echo off setlocal enabledelayedexpansion set str="a+b+c-d" :Step1 for /f "delims=-+, tokens=1,*" %%a in (%str%) do ( REM todo case a b c d... echo %%a REM 從新賦值並跳轉到GOON set str="%%b" goto Step1 )
中止:C:\Windows\System32\inetsrv\appcmd.exe stop site 網站名稱
啓動:C:\Windows\System32\inetsrv\appcmd.exe start site 網站名稱
或者經過寫入/刪除app_offline.htm
code
經過寫入app_offline.htm
文件,請求重定向到此文件解決進程佔用問題,發佈完成後刪除文件請求進入core網站。htm
將腳本放到core項目的文件夾,路徑自行修改,默認輸出項目在src/UI文件夾中。打包文件在當前目錄的release文件夾下token
@echo off :: 變量賦值,使用!name! setlocal enabledelayedexpansion set currentPath=%~dp0 set tempModulesPath=%currentPath%\temp set modulesPath=%currentPath%\src\UI\ set str="項目名稱1+項目名稱2" :GOON for /f "delims=,+, tokens=1,*" %%i in (%str%) do ( echo -------------------------------------------------------- echo 【%%i】發佈開始 set path1=%modulesPath%%%i set path2=%currentPath%\release\%%i\ set filnePath=!path2!app_offline.htm echo !path1! echo 中止【%%i】站點 if not exist !path2! md !path2! cd /d !path1! echo 執行發佈【!path2!】 echo 網站維護中>!filnePath! call dotnet publish -o !path2! call xcopy %tempModulesPath% !path2! /s /e /Q /Y /I del !filnePath! echo 開啓【%%i】站點 echo 【%%i】發佈完成 set str="%%j" goto GOON ) pause