bat批处理和目录相关汇总.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 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 取当前文件的上级目录的名称 set a=D:/abc/def ghi/j k/lmn.bat for %%a in (%a%) do ( set ok=%%~dpa for /f delims= %%b in (!ok:~0,-1!) do ( echo %%~nb ) ) pause 下面贴一个自己写的bat文件,功能是写入注册表,效果等价于配置系统的环境变量,使得NotePad2可以通过命令行启动 @echo off Setlocal ENABLEDELAYEDEXPANSION if exist /Notepad2.reg ( del /Notepad2.reg ) set var=%cd% set str=%var% set chr=/ rem echo %chr% rem pause :next if 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 pause echo Windows Registry Editor Version 5.00/Notepad2.reg echo [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/Notepad2.exe]/Notepad2.reg echo @=%var1%//Notepad2.exe/Notepad2.reg echo Path=%var1%/Notepad2.reg /Notepad2.reg del /Notepad2.reg 说明:将该文件保存为bat文件后,放入应用程序可执行文件所在文件目录(Notepad2.

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档