Batch file 如何在命令提示符下打开位于名称发生更改的文件夹中的文件?

Batch file 如何在命令提示符下打开位于名称发生更改的文件夹中的文件?,batch-file,command-prompt,discord,Batch File,Command Prompt,Discord,好的,我有一个批处理文件,我用来打开一堆程序,因为它节省了我的时间。问题是Discord存储在一个文件夹中,其名称中包含版本号,因此每次Discord更新其所在文件夹的名称时,该文件夹的名称都会从“app-0.0.303”变为“app-0.0.304”等。所以现在我打开它的代码是: Start /d "%userprofile%\AppData\Local\Discord\app-0.0.304" Discord.exe 下次它更新时,我需要更新代码,以指定它在app-0.0.305中。那么,

好的,我有一个批处理文件,我用来打开一堆程序,因为它节省了我的时间。问题是Discord存储在一个文件夹中,其名称中包含版本号,因此每次Discord更新其所在文件夹的名称时,该文件夹的名称都会从“app-0.0.303”变为“app-0.0.304”等。所以现在我打开它的代码是:

Start /d "%userprofile%\AppData\Local\Discord\app-0.0.304" Discord.exe

下次它更新时,我需要更新代码,以指定它在app-0.0.305中。那么,我有没有办法用“*”之类的符号来表示文件夹的末尾可以有任何数字?

我们可以运行一个简单的for循环:

@echo off
for /d %%i in ("%userprofile%\AppData\Local\Discord\app-*") do start "" /d "%%i" Discord.exe
另外,请查看
%localappdata%
变量,而不是
%userprofile%
,这是否更短

@echo off
for /d %%i in ("%localappdata%\Discord\app-*") do start "" /d "%%i" Discord.exe

我们可以运行一个简单的for循环:

@echo off
for /d %%i in ("%userprofile%\AppData\Local\Discord\app-*") do start "" /d "%%i" Discord.exe
另外,请查看
%localappdata%
变量,而不是
%userprofile%
,这是否更短

@echo off
for /d %%i in ("%localappdata%\Discord\app-*") do start "" /d "%%i" Discord.exe

如果先使用
cd
命令设置当前目录,“
app*
”将匹配以
app
开头的第一个(字母)文件夹。如果先使用
cd
命令设置当前目录,“
app*
”将匹配第一个(字母)以
app
开头的文件夹。。。一定要启动“/d”%%~dpi”Discord.exe
(为了更接近这个问题-以防.exe需要这个特殊的工作文件夹)@Stephan谢谢,也许我会更改它是的。。。但是文件夹上的
%%~dpi
会造成文件夹
不和谐
愉悦@wolf\u或
。。。一定要启动“/d”%%~dpi”Discord.exe
(为了更接近这个问题-以防.exe需要这个特殊的工作文件夹)@Stephan谢谢,也许我会更改它是的。。。但是文件夹上的
%%~dpi
会导致文件夹
不和谐
愉悦@wolf_