隐藏

CMD命令之BAT脚本路径信息

发布:2017/3/9 23:39:11作者:管理员 来源:本站 浏览次数:973

CD命令解疑

cd是chdir的缩写,命令详解参见cd /?

可以看到/d参数的解释如下:
使用 /D命令行开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。

通常我们在xp系统中打开cmd窗口时,会显示
C:\Documents and Settings\Administrator>
如果我们执行如下命令,发现目录依然还是在C:\Documents and Settings\Administrator
C:\Documents and Settings\Administrator>cd d:\tomcat6.0.18
C:\Documents and Settings\Administrator>
此时,我们键入d:,不但会切换到d盘,而且会切换到d:/tomcat6.0.18的目录
C:\Documents and Settings\Administrator>cd d:\tomcat6.0.18
C:\Documents and Settings\Administrator>d:
D:\tomcat6.0.18>
下面语句我们就能看到/d参数的作用了。发现加了/d参数之后直接切换到d盘的tomcat6.0.18目录了。
C:\Documents and Settings\Administrator>cd /d d:\tomcat6.0.18
D:\tomcat6.0.18>

结论:不加/d参数只能在同一驱动器的目录之间切换,加上/d参数则能在不同驱动器之间的目录之间切换

DOS批处理中%cd%和%~dp0的区别

在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。

  • %cd% 可以用在批处理文件中,也可以用在命令行中; %cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。
  • %~dp0只可以用在批处理文件中,其内容是批量处理文件所在的路径。

对此命令并不清楚,以下内容都来自互联网:
%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录
cd是转到这个目录,不过我觉得cd /d %~dp0还好些
选项语法:
~0 - 删除任何引号(“),扩充%0

  • %~f0 - 将%0扩充到一个完全合格的路径名(“f”是file,即文件)
  • %~d0 - 仅将%0扩充到一个驱动器号
  • %~p0 - 仅将%0扩充到一个路径
  • %~n0 - 仅将%0扩充到一个文件名(“n”是name文件名)
  • %~x0 - 仅将%0扩充到一个文件扩展名
  • %~s0 - 扩充的路径只含有短名(“s”为Short,短的)
  • %~a0 - 将%0扩充到文件的文件属性(“a”为attribute,即属性)
  • %~t0 - 将%0扩充到文件的日期/时间(“t”time)
  • %~z0 - 将%0扩充到文件的大小(Size大小)
  • %~$PATH:0 - 查找列在路径环境变量的目录,并将%0扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串

可以组合修饰符来得到多重结果:

  • %~dp0 - 仅将%0扩充到一个驱动器号和路径
  • %~nx0 - 仅将%0扩充到一个文件名和扩展名
  • %~fs0 - 仅将%0扩充到一个带有短名的完整路径名
  • %~dp$PATH:0 - 查找列在路径环境变量的目录,并将%I扩充到找到的第一个驱动器号和路径。
  • %~ftza0 - 将%0扩充到类似输出线路的DIR
  • %0为当前批处理文件如果0换成1为第一个文件,2为第2个
@echo off
echo %%cd%%      %cd%

echo %%0         %0 echo %%~d0       %~d0 echo %%~p0       %~p0 echo %%~dp0      %~dp0 echo %%~n0       %~n0 echo %%~x0       %~x0 echo %%~f0       %~f0 echo %%~s0       %~s0 echo %%~fs0      %~fs0 echo %%~a0       %~a0 echo %%~t0       %~t0 echo %%~z0       %~z0 echo %%~ftza0    %~ftza0 echo %%~$PATH:0  %~$PATH:0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

执行结果

在BAT中设置环境变量

在软件安装后,要么自动添加环境变量,要么是手动添加相应的环境变量。对于大的系统绿色安装,在BAT中设置临时环境变量是必不可少的,比如MinGW启动脚本等。

以下是绿色安装启动appium的脚本:

@echo off set CLASSPATH=.;%~dp0\Java\jdk1.8.0_66\lib set JAVA_HOME=%~dp0\Java\jdk1.8.0_66 set JDK_HOME=%~dp0\Java\jdk1.8.0_66 set ANDROID_HOME=%~dp0\Android\android-sdk set PATH=%~dp0\Android\android-sdk\platform-tools;%~dp0\Java\jdk1.8.0_66\bin;%~dp0\Android\android-sdk;%PATH% adb connect 127.0.0.1:62001 "Android\android-sdk\platform-tools\adb.exe" devices "%~dp0\node_modules\node.exe" "%~dp0\node_modules\appium\bin\appium.js" -U 127.0.0.1:62001
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里设置了JavaAndroid相关的环境变量,将软件包拷贝到其他机器即可运行脚本启动appium

启用与禁用Administrator用户

管理员执行:
- 禁用 net user administrator /active:no
- 启用 net user administrator /active:yes