首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Windows 批處理腳本 (BAT/CMD) 完全參考手冊:變量、流程控制、文件操作、網絡命令

     編輯:關於.NET

.bat vs .cmd 差異

  • .bat:所有 Windows 兼容,ERRORLEVEL 僅錯誤時改變
  • .cmd:NT 內核優化,啟用擴展時**成功命令也會改變 ERRORLEVEL**

基礎輸出控制

@echo off          :: 隱藏命令本身
echo on             :: 顯示命令 (默認)
echo.               :: 輸出空行 (無空格)
echo message        :: 輸出文本
@                   :: 行前綴,僅隱藏該行命令

變量作用域:SETLOCAL / ENDLOCAL

@echo off
setlocal
set version=1.0
echo first: %version%
endlocal
echo second: %version%   :: 空 (局部變量已銷毀)

set version=2.0           :: 全局變量
echo third: %version%     :: 2.0

延遲擴展:ENABLEDELAYEDEXPANSION

@echo off
setlocal EnableDelayedExpansion
set _tst=0
for /l %%G in (1,1,5) do (echo [!_tst!] & set /a _tst+=1)
echo Total = !_tst!
:: 輸出: [0][1][2][3][4] Total = 5
endlocal

關鍵:!var! 替代 %var%,在複合語句 (for/if) 中實時獲取最新值。

脫字符 ^ 與 HTML/XML 處理

setlocal EnableDelayedExpansion
set _html=html format: ^Hello world^
echo !_html!  :: 輸出原始標籤,不被解析為重定向

SET 進階用法

命令說明
set顯示所有環境變量
set prefix顯示指定前綴變量
set var=value賦值
set /a var=expr算術運算 (+ - * / % << >> & | ^)
set /p var=prompt交互輸入
set "var="刪除變量

實用環境變量

  • %CD% 當前目錄
  • %DATE% / %TIME% 日期時間
  • %RANDOM% 0-32767 隨機數

CHOICE 交互選單

CHOICE /C ABC /M "選擇: A-管理員 B-域用戶 C-註冊用戶"
if %errorlevel%==1 goto Admin
if %errorlevel%==2 goto Domain
if %errorlevel%==3 goto Local

參數與文件名擴展

%0  腳本名
%1-%9  參數
%*   所有參數

%~f1  完整路徑
%~d1  驅動器
%~p1  路徑
%~n1  文件名(無擴展名)
%~x1  擴展名
%~s1  短文件名
%~a1  屬性
%~t1  修改時間
%~z1  文件大小
%~dp1 驅動器+路徑
%~nx1 文件名+擴展名

IF 條件判斷

IF [NOT] EXIST file cmd
IF [/I] str1==str2 cmd
IF [/I] str1 compare-op str2 cmd  :: EQU NEQ LSS LEQ GTR GEQ
IF [NOT] DEFINED var cmd
IF [NOT] ERRORLEVEL n cmd
IF CMDEXTVERSION n cmd

FOR 循環四大模式

FOR %%G IN (set) DO cmd                    :: 文件集/字符串
FOR /R [path] %%G IN (set) DO cmd          :: 遞歸目錄
FOR /D %%G IN (dirs) DO cmd                :: 目錄名
FOR /L %%G IN (start,step,end) DO cmd      :: 數字範圍
FOR /F ["opts"] %%G IN (file/string/'cmd') DO cmd :: 文本處理/命令輸出
  選項: eol=c skip=n delims=xxx tokens=x,y,m-n usebackq

NET 命令實用場景

命令用途
net start/stop/pause/continue svc服務管理
net use z: \\server\share pwd /user:dom\user映射網絡驅動器
net share查看本地共享
net share name=path /grant:user,FULL創建共享
net localgroup administrators user /add添加管理員
netdom renamecomputer old /newname:new /userd:u /passwordd:p重命名計算機
netdom join pc /domain:dom /userd:u /passwordd:p加入域
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved