经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
BAT: Windows批处理更改当前工作路径
来源:cnblogs  作者:danvy617  时间:2019/8/15 14:46:51  对本文有异议
最近项目上需要获取文件夹下所有文件信息,因为文件夹是在server上,所以想用批处理bat来获取该路径下所有文件信息,然后通过任务计划管理去每天自动运行bat去更新文件信息内容。
  • 获取文件夹下所有文件信息并保存到当前目录下test.txt中的cmd命令:
  1. dir /s /b *.* > test.txt

 

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

 

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

 

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

原文链接:http://www.cnblogs.com/danvy/p/11357286.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号