cf易美加速器,李湘简介,满清十大刑酷快播
我们时常使用bat脚本去处理一些事情,有事bat中的命令需要以管理员的身份运行,但是运行后文件的目录自动定位到了c:\windows\system32下,而不再脚本所在的目录下。
这是我的文件目录,windosactive.bat脚本会读取windosserial.ini中的文件信息,但是脚本中的有些命令要以管理员的身份才可以正常运行。如果直接右键管理员运行的目录会定位到c:\windows\system32。然后提示windosserial.ini文件不存在。
我们用echo %cd% 输出当前目录:
那么有没有其他方法呢?
使用变量扩充 的方法,读取出当前文件的目录,然后cd过去:
@echo off if not "%os%"=="windows_nt" exit title windosactive echo 当前目录:%cd% echo 变量扩充: %~dp0 cd /d %~dp0 echo 更改后的目录:%cd% pause
有关其他变量扩充的知识:
@echo off if not "%os%"=="windows_nt" exit title windosactive echo. echo 将 ^%%i 扩充到一个完全合格的路径名 echo %~f0 echo. echo 仅将 ^%%i 扩充到一个驱动器号 echo %~d0 echo. echo 仅将 ^%%i 扩充到一个路径 echo %~p0 echo. echo 仅将 ^%%i 扩充到一个驱动器和路径 echo %~dp0 echo. echo 仅将 ^%%i 扩充到一个文件名 echo %~n0 echo. echo 仅将 ^%%i 扩充到一个文件扩展名 echo %~x0 echo. echo 扩充的路径只含有短名 echo %~s0 echo. echo 将 ^%%i 扩充到文件的文件属性 echo %~a0 echo. echo 将 ^%%i 扩充到文件的日期/时间 echo %~t0 echo. echo 将 ^%%i 扩充到文件的大小 echo %~z0 echo. echo 查找列在路径环境变量的目录,并将 ^%%i 扩充到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串 echo %~$path:0 echo. echo 组合扩展: echo 驱动器+路径+文件名 +文件扩展名 +文件属性 +日期/时间 +文件的大小 echo %~dpnxatz0 echo. echo 驱动器+路径+文件名 +文件扩展名 +文件属性 +日期/时间 +文件的大小+ 短名 echo %~dpnxatzs0 echo. pause
其中的变量扩充可以随意组合。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新补丁让Windows 10出现死机、卡顿等 微软坐不住称正解决
Ubuntu 20.04 LTS进驻Windows子系统:只能用3年
ThinkPad正式加入:预装Linux发行版而非Win10的PC越来越多了
最新版Android 11推送!谷歌Pixel 5被曝光:支持反向充电
高度致敬Windows!开源优麒麟20.04 LTS发布:支持5年
电脑小知识:Windows 10是用什么语言写的?到底有多少行代码?
Win10 5月更新准正式版:微软引入大量新功能 系统响应速度快
Windows 10新预览版19613推送:修复任务栏图标显示异常BUG
Windows AD 报错解决:UAC File Virtualization服务启动失败 此驱动程序被阻止加载
网友评论