获取文件夹下所有文件信息并保存到当前目录下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所在的目录设置成当前工作路径

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.

标签:
当前工作路径

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Windows批处理更改当前工作路径的BAT”
暂无“Windows批处理更改当前工作路径的BAT”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。