我想批量定位一个文件夹,这可能会随着时间的推移更改其名称。假设我们有Folder 10102018
,下次运行该批处理时,文件夹名称为Folder 20102018
。
从CMD中,我可以导航到C:\Fold*
,结果为(C:\Folder 10102018)
使用批处理文件中的错误与The system cannot find the path specified.
命令是-> "..\..\Folder 1.1.10102018\Install.exe"
我想要实现的目的是使用其文件夹名称“ Folder *”的恒定位进入该文件夹,并忽略紧随其后的所有内容,因为它并不相关...但是很难解决。
一如既往地感谢您的帮助或替代想法!
答案 0 :(得分:1)
我相信这就是您要寻找的(如果只有一个匹配的文件夹):
for /D %%I in ("..\..\Folder 1.1.*") do "%%~I\Install.exe"
通配符只能在路径的 last 元素中使用,而根本不能用于运行应用程序。
打开命令提示符窗口,键入for
/?
并阅读帮助文本以了解for [/D]
的作用。
答案 1 :(得分:0)
问题是由于文件夹名称中的空格。您能删除文件夹名称中的空格然后尝试吗?
或使用_或-代替空格。
如果文件夹名称中有空格,则应使用“”。
答案 2 :(得分:0)
通配符只能用在路径的最后一个元素中,并且根本不能用于运行应用程序。 @aschipfl
cd "..\..\Folder 1.1.10102018\*"
Install.exe
单线
cd "..\..\Folder 1.1.10102018\*" && Install.exe
并弹出备份 2 个目录只需使用 cd ..\..