basic

& separates commands on a line.

&& executes this command only if previous command's errorlevel is 0.

|| (not used above) executes this command only if previous command's errorlevel is NOT 0

> output to a file

>> append output to a file

< input from a file

| output of one command into the input of another command

^ escapes any of the above, including itself, if needed to be passed to a program

" parameters with spaces must be enclosed in quotes

+ used with copy to concatenate files. E.G. copy file1+file2 newfile

, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,

%variablename% an inbuilt or user set environmental variable

!variablename! a user set environmental variable expanded at execution time, turned with SetLocal EnableDelayedExpansion command

%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batchfile's name.

%* (%*) the entire command line.

%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.

检查结果

call <THE_COMMAND_HERE>
if %ERRORLEVEL% == 0 goto :next
echo "Errors encountered during execution.  Exited with status: %errorlevel%"
goto :endofscript

:next
echo "Doing the next thing"

:endofscript
echo "Script complete"
if %ERRORLEVEL% NEQ 0 echo Error

if %ERRORLEVEL% EQU 0 echo OK
call child-script.bat
IF %ERRORLEVEL% NEQ 0 EXIT 1

Examples

cd /d S:

cd ..
cmd /c cd ..
/c tag ensures the interpreter returns to the original session, and the directory stays unchanged.


cmd /k cd ..
The /k parameter switches to the new session and runs the cd command to switch to the parent directory.
copy <options> <source> <destination>

move <options> <source> <destination>
删除 test目录
rmdir /s /q c:\test

/q disables Yes/No prompting
/s means delete the file(s) from all subdirectories.


del /s /q *.json
删除当前目录下所有json文件。包括子文件夹中的。

del /s /q "C:\Project\*.pdf"
echo "Hello, world!"

hostname

whoami /all

systeminfo
systeminfo /fo csv

getmac

date
time
time /t
timeout /t 10
to pause the interpreter for ten seconds
exit /b

To exit a batch script, add the /b parameter, Without the /b option, the exit command closes the command interpreter.
ipconfig /all
ipconfig /flushdns

tracert phoenixnap.com

netstat -a
Add the -a option to display all active TCP connections and listening TCP and UDP ports
set message="Hello, world!"
echo %message%
start <title> <options>

start "Hello, world!" /d C:\

load start a new command-prompt session with the title "Hello, world!" and set the path to C:\
tasklist
taskkill /pid <Process ID>
taskkill /f /im winword.exe
call   Calls a batch file from another one
posted @ 2023-08-15 17:29  fndefbwefsowpvqfx  阅读(6)  评论(0编辑  收藏  举报