批处理相关知识在此汇总。不断更新中..
1 %~dp0
参考文章:http://www.cnblogs.com/smwikipedia/archive/2009/03/30/1424749.html
更改当前目录为批处理本身的目录
有些晕吧?不急,我举例
比如你有个批处理a.bat在D:\qq文件夹下
a.bat内容为
cd /d %~dp0
在这里
cd /d %~dp0的意思就是cd /d d:\qq
%0代表批处理本身 d:\qq\a.bat
~dp是变量扩充
d既是扩充到分区号 d:
p就是扩充到路径 \qq
dp就是扩充到分区号路径 d:\qq
2 /F /S /Q什么意思
/f /s /q /as都是批处理的参数,比如del 后面可以添加/f /s /q
如果想知道这些有什么用的话dos下输入:
del /?
回车就会显示了。
帮助显示如下:
e:\mail>del /?
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或多个文件或者目录列表。
通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所
有文件都会被删除。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
I 无内容索引文件 L 重分析点
- 表示“否”的前缀
如果命令扩展被启用,DEL 和 ERASE 更改如下:
/S 开关的显示句法会颠倒,即只显示已经
3 xcopy
参考文章http://daniel.p.yao.blog.163.com/blog/static/34216355200782825469/
1.功能:复制指定的目录和目录下的所有文件连同目录结构。
2.类型:外部命令
3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]
4.使用说明:
(1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;
(2)使用时源盘符、源目标路径名、源文件名至少指定一个;
(3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,
(4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。
4 for循环的一篇文章讲解
http://kdisk-sina-com.iteye.com/blog/435099
讲的确实可以
@echo off
echo "Delete files to reduce data size..."
set CURRENT=%~dp0
SET FOLDER_DELETE=%CURRENT%data_delete
SET FOLDER_DATA=%CURRENT%data
echo "Folder to delete: %FOLDER_DATA%"
echo "Sample folder: %FOLDER_DELETE%"
cd "%FOLDER_DELETE%"
setlocal EnableDelayedExpansion
for /L %%n in (1 1 500) do if "!__cd__:~%%n,1!" neq "" set /a "len=%%n+1"
setlocal DisableDelayedExpansion
for /r . %%g in (*.*) do (
set "absPath=%%g"
setlocal EnableDelayedExpansion
set "relPath=!absPath:~%len%!"
rem echo !relPath!
echo %FOLDER_DATA%\!relPath!
IF EXIST "%FOLDER_DATA%\!relPath!" DEL /Q /F %FOLDER_DATA%\!relPath!
setlocal DisableDelayedExpansion
endlocal
)
endlocal
cd..
echo "Finished."
5 setlocal enabledelayedexpansion
http://94here.blog.51cto.com/696155/162695
6 bat批处理 if 命令示例详解
http://www.jb51.net/article/14986.htm
7 Short Command Line Tips
http://www.robvanderwoude.com/shorts.php