- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
bat批处理和目录相关汇总
获取批处理文件所在路径
在开发时,经常需要使用批处理运行一些程序,java程序 犹其是这样,往往需要运行时根路径。Hardcode一个路径总是令自己觉得不自在,例如一个java程序从一台机copy到另外一台机,盘符往往发生变化,先修改一下bat里的路径再运行显然很麻烦。 在批处理开头加入cd /d %~dp0 一行代码就真真实实地做到“编写一次,到处运行”。%0是批处理文件本身的路径,%~dp进行扩展, d向前扩展到驱动器,p往后扩展到路径。例如,你的bat文件在e:/mybat/test.bat,则%0就是e:/mybat/test.bat, %~dp0是e:/mybat/。 另外,%i提取第i个命令选项,例如%1提取第1个option,i可以取值从1到9 %~0: 取文件名(名+扩展名) %~f0:取全路径 %~d0:取驱动器名 %~p0:只取路径(不包驱动器) %~n0:只取文件名 %~x0:只取文件扩展名 %~s0:取缩写全路径名 %~a0:取文件属性 %~t0:取文件创建时间 %~z0:取文件大小 以上选项可以组合起来使用。
HYPERLINK /guomao545/article/details/6417667bat 获取当前路径
分类: HYPERLINK /guomao545/article/category/821459doc cmd2011-05-13 16:24 4128人阅读 HYPERLINK /guomao545/article/details/6417667#comments评论(0) HYPERLINK javascript:void(0);收藏 HYPERLINK /guomao545/article/details/6417667#report举报
HYPERLINK /tag/windowswindowsHYPERLINK /tag/pathpath
@echo offsetlocal EnableDelayedExpansionecho 当前正在运行的批处理文件所在路径:!cd!pause
@echo off
echo 当前目录是:%cd%
pause
@echo off
:: set abc=%cd%echo 当前正在运行的批处理文件所在路径:%~dp0
pause
@echo offecho 当前的盘符及路径:%~dp0echo 当前的盘符及路径的短文件名格式:%~sdp0pause
@echo 取当前文件的上级目录的名称set a=D:/abc/def ghi/j k/lmn.batfor %%a in (%a%) do (set ok=%%~dpafor /f delims= %%b in (!ok:~0,-1!) do (echo %%~nb))pause
下面贴一个自己写的bat文件,功能是写入注册表,效果等价于配置系统的环境变量,使得NotePad2可以通过命令行启动
@echo offSetlocal ENABLEDELAYEDEXPANSIONif exist /Notepad2.reg (del /Notepad2.reg)set var=%cd%set str=%var%set chr=/rem echo %chr%rem pause:nextif not %str%== (if !str:~0,1!==%chr% (set var1=%var1%%chr%%chr%)if not !str:~0,1!==%chr% (set var1=%var1%%str:~0,1%)set str=%str:~1%::echo %str%goto next)rem pauseecho Windows Registry Editor Version 5.00/Notepad2.regecho [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/Notepad2.exe]/Notepad2.regecho @=%var1%//Notepad2.exe/Notepad2.regecho Path=%var1%/Notepad2.reg/Notepad2.regdel /Notepad2.reg
说明:将该文件保存为bat文件后,放入应用程序可执行文件所在文件目录(Notepad2.
文档评论(0)