如何获取路径并设置为变量

时间:2013-09-17 09:59:13

标签: batch-file

基本上我使用安装程序来形成exe文件,即retry.exe。此retry.exe文件由名为 demo 的文件夹组成,该文件夹由一些文件组成。在安装或双击即ie retry.exe到一台机器我有一个选项,可以浏览我所需的任何位置的文件夹,即我可以浏览 C文件夹 D文件夹 Windows 7 OS系统并安装我的 demo 文件夹。那么我如何才能获得 demo 文件夹的路径并使用批处理文件脚本设置为变量? 谷歌搜索后,我开始知道 pushd%~dp0 可能会工作,但我不太了解它,虽然我是批处理文件脚本的新手。任何答案都会受到高度评价。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

一些选项:

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

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

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