Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 找到文件,并复制其路径。批处理脚本_Batch File_Cmd_Path - Fatal编程技术网

Batch file 找到文件,并复制其路径。批处理脚本

Batch file 找到文件,并复制其路径。批处理脚本,batch-file,cmd,path,Batch File,Cmd,Path,我正在编写一个批处理脚本来自动构建Qt项目 我遇到的一个问题是,Qt的安装目录路径对于每个用户可能都不相同 例如,在我的系统上,我的mingw48_32的路径是: c:\Qt\Qt5.2.0\5.2.0\mingw48\u 32 但在其他人的系统上可能是这样 c:\Qt\5.2.0\mingw48_32取决于他们选择的设置方式 因此,当我为qmake.exe指定路径时,我需要知道qmake.exe的路径是 如何搜索文件并从批处理脚本复制其路径 蝙蝠从哪里来 不太像真正的来源,但可能会有帮助 @S

我正在编写一个批处理脚本来自动构建Qt项目

我遇到的一个问题是,Qt的安装目录路径对于每个用户可能都不相同

例如,在我的系统上,我的mingw48_32的路径是: c:\Qt\Qt5.2.0\5.2.0\mingw48\u 32 但在其他人的系统上可能是这样 c:\Qt\5.2.0\mingw48_32取决于他们选择的设置方式

因此,当我为qmake.exe指定路径时,我需要知道qmake.exe的路径是

如何搜索文件并从批处理脚本复制其路径

蝙蝠从哪里来

不太像真正的来源,但可能会有帮助

@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@SET EXITCODE=1

:: Needs an argument.

@IF "x%1"=="x" (
    @ECHO Usage: %0 ^<progName^>
    GOTO TheEnd
)

@set newline=^


@REM Previous two (2) blank lines are required. Do not change!

@REM Ensure that the current working directory is first
@REM because that is where DOS looks first.
@PATH=.;!PATH!

@FOR /F "tokens=*" %%i in ("%PATH:;=!newline!%") DO @(
    @IF EXIST %%i\%1 (
        @ECHO %%i\%1
        @SET EXITCODE=0
    )

    @FOR /F "tokens=*" %%x in ("%PATHEXT:;=!newline!%") DO @(
        @IF EXIST %%i\%1%%x (
            @ECHO %%i\%1%%x
            @SET EXITCODE=0
        )
    )
)

:TheEnd
@EXIT /B %EXITCODE%
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@设置EXITCODE=1
他需要一个论点。
@如果“x%1”==“x”(
@回显用法:%0^
转到终点
)
@设置换行符=^
@REM前两(2)个空行是必需的。不要改变!
@REM确保当前工作目录是第一个
@REM,因为这是DOS首先看到的地方。
@路径=。;!路径
@对于(“%PATH:;=!newline!%”中的/F“tokens=*”%%i,请执行以下操作@(
@如果存在%%i\%1(
@回显%%i\%1
@设置EXITCODE=0
)
@对于(“%PATHEXT:;=!newline!%”中的/F“tokens=*”%%x,请执行以下操作@(
@如果存在%%i\%1%%x(
@回声%%i\%1%%x
@设置EXITCODE=0
)
)
)
:结束
@退出/B%EXITCODE%
whence.bat

不太像真正的来源,但可能会有帮助

@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@SET EXITCODE=1

:: Needs an argument.

@IF "x%1"=="x" (
    @ECHO Usage: %0 ^<progName^>
    GOTO TheEnd
)

@set newline=^


@REM Previous two (2) blank lines are required. Do not change!

@REM Ensure that the current working directory is first
@REM because that is where DOS looks first.
@PATH=.;!PATH!

@FOR /F "tokens=*" %%i in ("%PATH:;=!newline!%") DO @(
    @IF EXIST %%i\%1 (
        @ECHO %%i\%1
        @SET EXITCODE=0
    )

    @FOR /F "tokens=*" %%x in ("%PATHEXT:;=!newline!%") DO @(
        @IF EXIST %%i\%1%%x (
            @ECHO %%i\%1%%x
            @SET EXITCODE=0
        )
    )
)

:TheEnd
@EXIT /B %EXITCODE%
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@设置EXITCODE=1
他需要一个论点。
@如果“x%1”==“x”(
@回显用法:%0^
转到终点
)
@设置换行符=^
@REM前两(2)个空行是必需的。不要改变!
@REM确保当前工作目录是第一个
@REM,因为这是DOS首先看到的地方。
@路径=。;!路径
@对于(“%PATH:;=!newline!%”中的/F“tokens=*”%%i,请执行以下操作@(
@如果存在%%i\%1(
@回显%%i\%1
@设置EXITCODE=0
)
@对于(“%PATHEXT:;=!newline!%”中的/F“tokens=*”%%x,请执行以下操作@(
@如果存在%%i\%1%%x(
@回声%%i\%1%%x
@设置EXITCODE=0
)
)
)
:结束
@退出/B%EXITCODE%

您可以查看此文件的可能副本==>您可以查看此文件的可能副本==>