1. 调用其他程序时,对文件的大小写不敏感,文件后缀也可忽略
如:start LeapFTP.exe 与 start leapftp 效果一样,都是运行“LeapFTP.exe”文件
每行的开头的字符串会自动查找程序来运行,还可用双引号引起来(文件名或目录名含空格时必须用)
如:"D:\Program Files\Leap FTP.exe"
"LeapFTP.exe" 可正常运行文件,start "" "LeapFTP.exe" 也可以正常运行文件(注意,第一个参数是窗口显示的标题)
3. copy C:\test\*.* D:\back (复制C盘test文件夹的所有文件(不包括文件夹及子文件夹里的东西)到D盘的back文件夹)
4. dir c:\*.* > a.txt (将c盘文件列表写入 a.txt 中)
5. > 生成文件并写入内容(如果有这文件则覆盖), >> 文件里追加内容
6. md d:\aa (创建文件夹)
7. 在命令末尾加上“>NUL 2>NUL”,表示隐蔽返回信息。
8. 等待用户输入: set /p 变量名=屏幕显示信息。 Sample:set /p pass=请输入密码:
9. 让用户按回车退出
小技巧(替代pause),文件的最后一句:set /p tmp=操作结束,请按回车键退出...
10.设置标题: title JDK安装
11.设置屏幕显示颜色,如绿色: color 0a
12.清屏: cls
13.查看自己的IP:
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
echo %ip% (这时的 %ip% 就是自己的IP地址)
14. 修改文件的更新日期
copy 文件名+,,>nul (修改为当前时间,如果要修改为指定时间,先修改系统时间,再改回系统时间)
15. 修改文件的后缀名
ren C:\test\*.jpg *.JPG
for /r %%c in (*.jpg) do (ren %%c *.JPG) :: 修改当前目录下的所有文件的后缀名,包括子目录的
16. 修改文件的文件名
rename test.jpg test2.JPG
rename *.jpg *.888.JPG
17. 查看DNS、IP、Mac等
1) Win98: winipcfg
2) Win2000以上: Ipconfig /all
3) NSLOOKUP
18.查看IP上的共享资源,就可以
net view 192.168.10.8
19.共享
A.查看你机器的共享资源: net share
B.手工删除共享
net share 共享资源名称$ /d
注意$后有空格。
C.增加一个共享:
net share mymovie=e:\downloads\movie /users:3
mymovie 共享成功。 同时限制链接用户数为3人。
20.打开某网站
start iexplore.exe http://www.baidu.com
实例:
1. 生成 reg 文件,运行它,再删除它
echo "更改windows安装文件的路径"
echo Windows Registry Editor Version 5.00 > c:\setupreg.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup] >> c:\setupreg.reg
echo "ServicePackSourcePath"="D:\\Win2003\\" >> c:\setupreg.reg
echo "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg
:: 写入注册表
regedit /S c:\setupreg.reg
:: 删除注册表文件
del c:\setupreg.reg
2.调用了exe文件,结束后没有关闭,解决方式
用start命令运行文件,如:
start LeapFTP.exe 192.168.0.100
3.设置系统环境变量
:: 有这个环境变量,则不需再设置,直接结束
if not "%JAVA_HOME%" == "" exit
:: 设置环境变量的地址
set inputJavaHome=%cd%\jdk1.6.0_07
:: 设置环境变量,也可以设置当前用户的变量
set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
echo 正在设置环境变量,请稍候......
reg add "%EnvironmentHome%" /v JAVA_HOME /t reg_sz /d "%inputJavaHome%" /f
reg add "%EnvironmentHome%" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib" /f
reg add "%EnvironmentHome%" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%Path%" /f]
:: 刷新,令环境变量生效
taskkill /f /im explorer.exe >nul
start "" "explorer.exe"
4.隐藏某目录的所有文件及文件夹
cd /d 要隐藏的目录(如:D:)
for /f "usebackq delims=" %%A in (`dir /a /b`) do (attrib "%%A" -r +h -s)
5.在批处理中使用密码。密码为admin,输入正确,跳转到next1 ,若输入密码错误3次,则锁屏。。
@echo off
set num=0
:11
set /p pass=请输入密码:
if "%pass%"=="admin" goto next1
set /a num=%num% + 1
if %num%==3 goto no1
goto 11
:no1
%windir%\system32\rundll32.exe user32.dll,LockWorkStation
goto 11
:next1
echo 密码正确,执行下面的程式
pause
6.让系统断断续续地鸣叫
@echo off
:begin
:: 发出鸣叫(“”实际就是ASCII码值为7的特殊字符(蜂鸣键beep)
echo
:: 让程序暂停一小阵子
ping -n 1 -l 1 127.1>nul
goto :begin
7.将 FAT 卷转换成 NTFS
利用“CONVERT.exe”进行,解析如下:
CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]
volume 指定驱动器号(后面跟一个冒号)、装载点或卷名。
/FS:NTFS 指定要被转换成 NTFS 的卷。
/V 指定 Convert 应该用详述模式运行。
/CvtArea:filename
将根目录中的一个接续文件指定为NTFS 系统文件的占位符。
/NoSecurity 指定每个人都可以访问转换的文件和目录的安全设置。
/X 如果必要,先强行卸载卷。该卷的所有打开的句柄则无效。
程序如下:
@ ECHO OFF
@ ECHO.
@ ECHO. 说 明
@ ECHO --------------------------------------------------------------------------
@ ECHO NTFS是一种磁盘格式。该格式能存放大于4G的单个文件(如高清电影文件),并可对
@ ECHO 文件夹进行加密,但有个缺点是DOS下无法访问。建议D盘及其后的盘使用NTFS格式,
@ ECHO C盘如非必要可以不转换,FAT32与NTFS这两种格式的读写速度几乎是没有差别的。
@ ECHO --------------------------------------------------------------------------
@ ECHO.
convert c: /fs:ntfs
:: D盘也转成 NTFS
convert d: /fs:ntfs
8. 获取我的文档
SET SF="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
FOR /F "tokens=2,*" %%I IN ('REG QUERY %SF% /v Personal 2^>NUL^|FIND /I "Personal"') DO SET "myDoc=%%~J"
:: 复制文件到我的文档
XCOPY /D /E /R /Y /C "%cd%\test.txt" "%myDoc%\test\"
@echo off //不显示shell的命令。
Setlocal //环境改变只适用于这个文件。
%OS% //为当前的操作系统。
Rem //注释一行文本。
Goto 标签 //改变执行顺序,去标签位置.
:标签 //定义一个标签。
Set 变量名=值 //定义变量
Not //取反
Netstat –na //显示当前被点用的端口.
%0 %1 %2 //用于表示批处理文件的参数0为命令,共1-9个参数。
Shift //用于向前一个参数,原1变0,原2变1.每调用一次shift向前一移动一位。
Call //调用其他批处理文件或命令。
Start 命令 参数 //指示出在另一个窗口中开始运行命令。
=============================================================
:: 自动设置Java环境变量
@echo off
IF EXIST %1\bin\javaw.exe (
rem 如输入正确的 JDK 安装目录,开始设置环境变量
@setx JAVA_HOME %1
@setx path %path%;%JAVA_HOME%\bin
@setx classpath %classpath%;.
@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar
@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar
@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar
@echo on
@echo JDK 环境参数设置完毕,正常退出。
) ELSE (
IF "%1"=="" (
rem 如没有提供安装目录,提示之后退出
@echo on
@echo 没有提供 JDK 的安装目录,不做任何设置,现在退出环境变量设置。
) ELSE (
rem 如果提供非空的安装目录但没有bin\javaw.exe,则指定的目录为错误的目录
@echo on
@echo 非法的 JDK 的安装目录,不做任何设置,现在退出环境变量设置。
)
)