脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - bat - Windows批处理更改当前工作路径的BAT

Windows批处理更改当前工作路径的BAT

2021-10-07 11:03脚本之家 bat

最近项目上需要获取文件夹下所有文件信息,因为文件夹是在server上,所以想用批处理bat来获取该路径下所有文件信息,然后通过任务计划管理去每天自动运行bat去更新文件信息内容

获取文件夹下所有文件信息并保存到当前目录下test.txt中的cmd命令:

dir /s /b *.* > test.txt

保存为test.bat文件,然后双击test.bat后就会在该文件夹目录下生产test.txt,里面会包含所有文件的路径信息。
打开任务计划程序中,创建新的基本任务,安装步骤创建并把启动程序设置成test.bat
右键点击该任务运行,看是否能成功运行test.bat
此处就出现问题了:显示该计划任务已经执行完成,但是你会发现在刚刚文件夹的路径下并没有生成test.txt这个文件。
然后尝试修改test.txt的路径信息,用绝对路径,然后再次运行计划任务

dir /s /b *.* > D:\test\test.txt

依然有问题:虽然test.txt文件确实生成了,但是里面的文件信息并不是当前文件夹下的,而是windows\system32下的文件信息,比如:C:\WINDOWS\system32\0409等等
问题点在于当前工作路径,系统计划任务时候默认的当前工作路径是C:\WINDOWS\system32,所以显示的是C:\WINDOWS\system32下面的文件信息
修改当前工作路径:在bat文件中加入一行,先把bat所在的目录设置成当前工作路径

?
1
2
cd /d %~dp0
dir /s /b *.* > test.txt

这样一来就完美解决了此问题,计划任务能被完美执行下来去获取当前文件夹下所有文件信息。

如何使用批处理文件更改当前工作目录

I need some help in writing a batch file. I have a path stored in a variable root as follows:

set root=D:\Work\Root

Then I am changing my working directory to this root as follows:

cd %root%

When I execute this batch file from anywhere on the D drive this is done successfully. But when I execute the same batch file from some other drive, cd %root% doesn't work.

Is there a way I can get the drive letter from the root variable? I can then change the current directory to this drive first and then cd %root% shall work.

延伸 · 阅读

精彩推荐
  • batbat过滤任意字符

    bat过滤任意字符

    早在写 bat的一个小游戏猜数字的时候我就研究过这个问题 如何在bat里面实现 对输入的任意字符进行过滤 当时使用的几种方法如下 ...

    allyesno11802021-12-26
  • bat变量延迟详解 call setlocal

    变量延迟详解 call setlocal

    变量延迟在for语句中起着至关重要的作用,不只是在for语句中,在其他的复合语句中,它也在幕后默默地工作着,为了突出它的重要性,本节内容在单独的...

    脚本之家5742021-10-08
  • bat使用 windows bat 脚本命令一键启动MySQL服务的方法

    使用 windows bat 脚本命令一键启动MySQL服务的方法

    这篇文章主要介绍了使用 windows bat 脚本命令 一键启动MySQL服务的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的...

    明金同学14752021-10-07
  • batWindows批处理更改当前工作路径的BAT

    Windows批处理更改当前工作路径的BAT

    最近项目上需要获取文件夹下所有文件信息,因为文件夹是在server上,所以想用批处理bat来获取该路径下所有文件信息,然后通过任务计划管理去每天自动...

    脚本之家12122021-10-07
  • bat批处理重命名系列案例代码

    批处理重命名系列案例代码

    这篇文章主要介绍了批处理重命名系列案例代码,需要的朋友可以参考下...

    张戈10372021-10-07
  • batWindows下用bat命令行方式更改IE代理服务器设置方法

    Windows下用bat命令行方式更改IE代理服务器设置方法

    批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,批处理文件的扩展名为bat,下面通过本文给大家分享Windows下用bat命令...

    大萝卜空心的6202021-10-06
  • batbat实现一分钟清除系统中所有垃圾文件

    bat实现一分钟清除系统中所有垃圾文件

      在桌面上点鼠标右键,选择新建一个“记事本”,把下面的字复制进去,点“另存为”,把文件名定为“清除系统垃圾.bat”就完成,记住后缀名一定要...

    批处理之家10592021-11-14
  • bat让bat批处理以管理员权限运行的实现方法

    让bat批处理以管理员权限运行的实现方法

    这篇文章主要介绍了让bat批处理以管理员权限运行的实现方法,需要的朋友可以参考下...

    bat教程网6962021-10-08