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


    最近项目上需要获取文件夹下所有文件信息,因为文件夹是在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:	est	est.txt
    依然有问题:虽然test.txt文件确实生成了,但是里面的文件信息并不是当前文件夹下的,而是windowssystem32下的文件信息,比如:C:WINDOWSsystem32409等等
    • 问题点在于当前工作路径,系统计划任务时候默认的当前工作路径是C:WINDOWSsystem32,所以显示的是C:WINDOWSsystem32下面的文件信息
    • 修改当前工作路径:在bat文件中加入一行,先把bat所在的目录设置成当前工作路径
    cd /d %~dp0
    dir /s /b *.* > test.txt
    这样一来就完美解决了此问题,计划任务能被完美执行下来去获取当前文件夹下所有文件信息。
  • 相关阅读:
    这几个 IntelliJ IDEA 高级调试技巧,用了都说爽!
    SpringBoot:application.properties基本的参数配置
    SpringBoot:搭建第一个Web程序
    PO,VO,DAO,BO,POJO 之间的区别你懂吗?
    这篇文章太懂程序员了,扎心了
    委托和事件
    Log4net 封装用法
    js 在一个DIV前、中、后、插入新DIV
    关于装修
    JS查询class的名称
  • 原文地址:https://www.cnblogs.com/danvy/p/11357286.html
Copyright © 2020-2023  润新知