bat命令 实践
来源:互联网 发布:数据库入侵痕迹 编辑:程序博客网 时间:2024/06/16 13:08
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 *.JPGfor /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 offIF 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 的安装目录,不做任何设置,现在退出环境变量设置。))