Windows命令提示符查询: 我有一个根目录" A"。 在" A"内有几个其他子目录。 现在这些目录中的某个地方有一个名为" setup.exe"的文件。 现在我想要从A到文件的完整路径。 稍后我将在批处理文件中使用此路径。 所以我希望它存储在一些变量中。 我找到了获取路径但无法将其存储到某个变量的方法。
请帮助。
答案 0 :(得分:0)
试试这个,它可能对你有帮助。
for /r "C:\directory path" %%a in (*) do if "%%~nxa"=="setup.exe" set variable_to_store_path=%%~dpnxa
if defined variable_to_store_path (
echo %variable_to_store_path%
) else (
echo File not found
)
答案 1 :(得分:0)
让命令 DIR 在目录树中找到setup.exe
并使用命令 FOR 处理 DIR 的输出以指定找到的内容setup.exe
具有环境变量的完整路径。
@echo off
set "SetupFile="
for /F "delims=" %%# in ('dir C:\a\setup.exe /A-D /B /S 2^>nul') do set "SetupFile=%%#"
if "%SetupFile%" == "" (
echo Could not find setup.exe.
) else (
echo Found %SetupFile%
)
要了解使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。
echo /?
dir /?
for /?
if /?
set /?
另请参阅Using command redirection operators了解如何通过重定向错误消息,在未找到任何setup.exe
时将 DIR 输出的错误消息抑制为 STDOUT 设备 NUL 与2>nul
一起使用转义重定向操作符>
并^
执行命令 DIR 而不是生成语法错误,因为无法在 set / 命令 / 文件指令 FOR 中指定重定向。