0

基本上我正在使用安装程序来形成一个 exe 文件,即 retry.exe 。这个 retry.exe 文件包含一个名为demo的文件夹,其中包含一些文件。在安装过程中或双击 ie retry.exe 到一台机器时,我可以选择浏览任何我想要的位置的文件夹,即我可以浏览到Windows 7 OS 系统的C 文件夹D 文件夹并安装我的演示文件夹。那么如何获取演示文件夹的路径并使用批处理文件脚本设置为变量?谷歌搜索后,我知道pushd %~dp0可能有效,但对它不太了解,尽管我对批处理文件脚本很陌生。任何答案都将受到高度评价。

4

2 回答 2

1

如果批处理文件是从demo文件夹运行的,那么%cd%将返回它所在文件夹的完整路径。

使用您添加的信息,这应该可以工作,但可能需要很长时间。这将搜索驱动器 C:,如果找不到该文件夹​​,则搜索驱动器 D:

@echo off
set "folder="
for /f "delims=" %%a in (' dir "c:\demo22112" /b /s /ad ') do if /i "%%~nxa"=="demo22112" set "folder=%%a"
if not defined folder for /f "delims=" %%a in (' dir "d:\demo22112" /b /s /ad ') do if /i "%%~nxa"=="demo22112" set "folder=%%a"
echo "%folder%"
pause
于 2013-09-17T10:09:47.747 回答
0

您需要向用户询问文件夹。批处理没有标准的方法。

一些选项:

1)要求用户输入目录并检查它:

SET /P "Directory=Enter desired directory: "
IF NOT EXIST "%Directory%\" GOTO Not_Directory_Error

2) 使用浏览目录并将其返回到批处理。

于 2013-09-17T10:27:36.747 回答