当前位置: 首页 >> 转载技术·常用技巧 >> 关于批处理的一些笔记 >> 正文

关于批处理的一些笔记

9年前 (2015-01-11)     作者:iMoke     分类:转载技术·常用技巧     阅读次数:3490     评论(0)    

独立压缩各目录

for /d %a in (*) do C:\Progra~1\WINRAR\RAR.EXE a -k -r -s -m1 %a.rar %a

独立解压各目录

for&nbsp


独立压缩各目录

for /d %a in (*) do C:\Progra~1\WINRAR\RAR.EXE a -k -r -s -m1 %a.rar %a

独立解压各目录

for %a in (*.rar) do C:\Progra~1\WINRAR\RAR.EXE x -y %a

获取当前路径

@echo off
setlocal EnableDelayedExpansion
echo 当前正在运行的批处理文件所在路径:!cd!
pause
@echo off
echo 当前目录是:%cd%
pause
@echo off
:: set "abc=%cd%"
echo 当前正在运行的批处理文件所在路径:%~dp0
pause
@echo off
echo 当前的盘符及路径:%~dp0
echo 当前的盘符及路径的短文件名格式:%~sdp0
pause

获取当前文件夹名

@echo off
 set "lj=%~p0"
echo lj=%lj%
 set "lj=%lj:\= %"
echo lj=%lj%
 for %%a in (%lj%) do set wjj=%%a
echo lj=%lj%
echo a=%a%
echo wjj=%wjj%
 echo 文件夹是:%wjj%
pause>nul

获取当前文件名

@echo off
echo %~0
echo %~dp0
pause>nul


关于批处理的0,相对路径

0念 零 ,代表你的批处理本身。 d p是FOR 命令的扩展。
%~f0  将 %I 扩展到一个完全合格的路径名
%~d0  仅将 %I 扩展到一个驱动器号
%~p0  仅将 %I 扩展到一个路径
%~n0  仅将 %I 扩展到一个文件名
%~x0  仅将 %I 扩展到一个文件扩展名
%~s0  扩展的路径只含有短名
%~a0  将 %I 扩展到文件的文件属性
%~t0  将 %I 扩展到文件的日期/时间
%~z0  将 %I 扩展到文件的大小
看到的就是P盘D路径0当前目录
如你的a.bat文件在d:\123\a.bat
%~pd0就是d:\123
%0就是 d:\123\a.bat
a.bat里的内容为,自己运行看吧。
echo echo ok>%~pdo
pause

DOS批处理中%cd%和%~dp0的异同分析

http://www.jb51.net/article/30528.htm

除非注明,发表在“傲孤漠客”的文章『关于批处理的一些笔记』版权归iMoke所有。 转载请注明出处为“本文转载于『傲孤漠客』原地址https://www.imoke.org/post/study-for-bats.html

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站