Windows 编写 bat 脚本自动cd 到指定目录

2018-11-23  本文已影响0人  Asbefore如初_3142

记录一下编写的 cmd 命令

在没有脚本的情况下,如果要在某个文件夹执行cmd命令,操作步骤是这样的

打开文件夹 -> 复制文件夹路径 -> 打开cmd窗口 -> 输入 cd /d -> 右键粘贴 -> 回车

通过编写脚本,可以提前配置好文件夹路径,之后就可以直接使用脚本进行文件夹切换,步骤变成这样

打开cmd窗口 -> 输入脚本 ->回车


因为没有cmd 脚本编写经验,所以就记录一下。免得以后忘了

新建文件,把文件后缀改成 .bat

关闭脚本每行的输出

@echo off

这样就不会每一行脚本都在窗口输出了

变量

  1. 定义变量
set var = this is value

需要注意的是,用中文可能出现莫名其妙的错误。因为用不到中文,所以没有百度解决办法

  1. 获取变量
echo %var%

将打印出 var 的值

  1. 修改变量
set var = this is value2  

这样就会重置 var 的值

如果需要将之前的值保留,并且在后面拼接新的值:

set var = %var%+value2

这样var的值是这样的:

this is value+value2

它将取得之前的值,然后再拼接新的值

if 条件判断

if "%var%" == "this is value" (
  echo "enter if..."
)else(
  echo "else..."
)

需要注意的是 小括号 () 里面才是代码执行块,这和 常见的 python 或者java 不同,在 python 中,通过缩进来代表代码块,在java中,则是通过大括号{}表示代码块的
而且在 () 前面,需要有一个空格,否则会提示语法错误

获取命令行输入的命令

以下面的命令行输入为例子
cdto testdir childir

通过%[index] 可以取得指定位置的参数,比如 %0 得到的是 cdto%1 得到的是 testdir

获取命令行的输入后,可以配合 if 判断和 字符串拼接 修改指定的命令

在bat 脚本中执行已经拼接好的命令

通过if和字符串拼接,假设已经有了这样一个变量var,它的值是:cd /d F:testdir,现在自动cd到这个目录

使用代码:

cmd /k "%var%"

窗口将会自动cd 到 F:testdir

解释 /k 的作用

通过cmd 执行完命令后,都会自动退出执行的环境。如果不加参数/k在cd到F盘后,又会回到当前执行目录。

退出当前执行脚本的环境

在执行脚本的时候,是使用了 cmd 命令的,它将会在一个新的窗口执行命令,尽管看上去在任务栏没有新的窗口出现。所以需要使用 exit 退出当前的执行窗口,代码应该是这样的:

echo %var%

cmd /k "%var%"

exit

把当前脚本配置到环境变量

配置到环境变量后就可以在任意窗口执行这个命令了
至于怎么配就略过了

一个完整的演示代码

现在创建一个 cdto.bat 文件
文件内容如下

@echo off


set cmdto=cd /d 
set test=D:

if "%1" == "test" (
    set cmdto=%cmdto%%test%
)


echo %cmdto%

cmd /k "%cmdto%"

exit

现在,在窗口执行 cdto.bat test ,就会到 D: 盘。效果图:

20181123141746
上一篇下一篇

猜你喜欢

热点阅读