CMD命令之BAT脚本路径信息

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       %~x0echo %%~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

执行结果

在BAT中设置环境变量

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

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

@echo offset 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

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

定制特定环境变量的终端

快捷方式

如squid终端将其bin路径设置到PATH环境变量中,其快捷方式目标如下:

C:\Windows\System32\cmd.exe /K "color 02 & cd /dD:\Squid\ & set PATH=D:\Squid\bin;%PATH%"

node的终端环境

@echo off%ComSpec% /K "color 02 & set PATH=D:\Program Files\node-v6.11.3-win-x64;%PATH% & set NODE_PATH=D:\Program Files\node-v6.11.3-win-x64\node_modules"

cmd.exe常用参数如下:

  • /c 执行 String 指定的命令,然后停止。
  • /k 执行 String 指定的命令并继续。

将cmd添加到右键

cmd.reg

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\在此处打开命令窗口][HKEY_CLASSES_ROOT\Directory\Background\shell\在此处打开命令窗口\command]
@="\"C:\\Windows\\System32\\cmd.exe\" \"--working-dir\" \"%v.\""

启用与禁用Administrator用户

管理员执行:

  • 禁用 net user administrator /active:no
  • 启用 net user administrator /active:yes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu开发环境搭建

在虚拟中试玩Ubuntu1604版本,有关安装后一些配置记录如下,以备后用。 简单设置 root密码设置 虚拟机安装完成后,默认不弃用root用户,需要给root设置密码后使用 sudo passwd root终端加入右键中 将终端加入右键后,在某…

Python GUI Programming (Tkinter)

Tkinter编程实例 #!/usr/bin/python #coding:utf-8from Tkinter import * import sysreload(sys) sys.setdefaultencoding(utf-8)class GUI_WINDOWS:def __init__(self, root):self.root Frame(root)self.driver Noneself.friendEdit Noneself.bStopQuery Falseself.loadF…

【ubuntu 22.04】安装vscode并配置正常访问应用商店

注意:要去vscode官网下载deb安装包,在软件商店下载的版本不支持输入中文 在ubuntu下用火狐浏览器无法访问vscode官网,此时可以手动进行DNS解析,打开DNS在线查询工具,解析以下主机地址(复制最后一个IP地址&a…

Appium安装使用总结

开发环境搭建 搭建java JDK与Android SDK环境下载安装nodejs下载安装Appium 问题答疑 在测试中adb devices查询无缘无故多出陌生的虚拟设备 同事的经验是重启电脑,莫名其妙的设备消失;自我总结就是重启adb服务,adb kill-server&#xff0…

Python使用笔记总结目录

从2012年接触python,陆陆续续使用python将近3年。从最开始的使用python进行xml解析,到使用python做爬虫开发,再到最近半年的使用深度学习进行图像识别,python简洁易用,丰富的资源库,活跃的社区,…

原始套接字编程(1)

Linux下原始套接字的原理 创建原始套接字: socket(AF_NET, SOCK_RAW, protocol);1. 参数protocol用来致命所接收的协议包,如果是像IPPROTO_TCP(6)这种非0、非255的协议,能接收ip头为protocol域的数据包,包括IP头,协议…

VS 使用技能总结

常用快捷键 复制/剪切/删除整行代码 1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“CtrlC”来完成复制操作,而无需选择整行。 2)如果你想剪切一整行代码,只需将光标移至该行,再使…

vim使用总结

vim使用命令 【自动补全操作】 Ctrl n / Ctrl p 自动补全字符串Ctrl x Ctrl f 自动补全文件名 【多文件操作】 打开多个文件: vim file1 file2 … filen 在同一个窗口中打开所有想要打开的文件vim -o file1 file2 … filen 打开一个编辑会话,水平分…

内核编程之Hello_kernel

前言 通过hello_kernel编程达到以下目的: 内核编程框架了解模块参数调用模块间函数调用内核模块相关关的命令使用 环境准备 内核源码树准备,有两种方法: 方法1:从kernel.org下载内核源码,手动编译 方法2:通过yum安装与系统版本一致的内…

机器学习基本库学习

前言 之前做过将近一年的python爬虫,python语言基础还是有的。眼下机器学习如日中天,项目中有用到机器学习对采集的内容进行分类的功能,闲暇之际学习一下相关的库,以期待money 简介 numpy python科学计算基础库matplotlib Ma…

unixODBC的使用

unixODBC介绍 unixODBC is a complete, free/open, ODBC solution for UNIX/Linux. 官网 http://www.unixodbc.org/源码下载url ftp://ftp.unixodbc.org/pub/unixODBC/ unixODBC版本目前有两套,soname为libodbc.so.1与soname为libodbc.so.2 对于使用libodbc.so.…

Jupyter notebook应用总结

简介 Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作。Notebook 有两种键盘输入模式。即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围&#x…

opencv常用函数

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型BORDER_REFLICATE  # 直接用边界的颜色填充, aaaaaa | abcdefg | ggggBORDER_RE…

【TensorFlow】稀疏矢量

官方Document: https://tensorflow.google.cn/api_guides/python/sparse_ops开发测试环境: Win10Python 3.6.4tensorflow-gpu 1.6.0 SparseTensor与SparseTensorValue的理解 SparseTensor(indices, values, dense_shape) 稀疏矢量的表示 indices shape为[N, ndims]的2-D i…

【Numpy】array操作总结

官方Document: https://www.numpy.org/devdocs/reference/routines.array-manipulation.html开发测试环境 Win10Python 3.6.4NumPy 1.14.2 Basic operations 函数原型作用[copyto](dst, src[, casting, where])Copies values from one array to another, broadcasting as nec…

【TensorFlow】conv2d函数参数解释以及padding理解

卷积conv2d CNN在深度学习中有着举足轻重的地位,主要用于特征提取。在TensorFlow中涉及的函数是tf.nn.conv2d。 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpuTrue, data_format“NHWC”, dilations[1, 1, 1, 1], nameNone) input 代表做卷积的…

卷积与傅立叶变换

一、卷积 1、一维的卷积 连续: 在泛函分析中,卷积是通过两个函数f(x)f(x)和g(x)g(x)生成第三个函数的一种算子,它代表的意义是:两个函数中的一个(我取g(x)g(x),可以任意取)函数,把g(x)g(x)经过翻转平移,…

海明纠错码工作原理

海明纠错码 海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错…

OpenCV-Python bindings是如何生成的(1)

翻译自How OpenCV-Python Bindings Works? 目标 学习 OpenCV-Python bindings是如何生成的如何为Python扩展新的opencv模块 OpenCV-Python bindings是如何生成的 在OpenCV里,所有算法都是用C实现的。但是这些算法可以在别的语言里使用,比如Python&…

OpenCV-Python bindings是如何生成的(2)

OpenCV-Python bindings生成流程 通过上篇文章和opencv python模块中的CMakeLists.txt文件,可以了解到opencv-python bindings生成的整个流程: 生成headers.txt文件 将每个模块的头文件添加到list中,通过一些关键词过滤掉一些不需要扩展的头文件&#x…