ECHO命令不会在批处理脚本中执行

时间:2016-02-04 10:57:13

标签: windows batch-file echo

我有以下批处理脚本,它搜索放置*.apk文件的目录。如果找到多于或少于一个,则会要求用户输入*.apk文件的路径。

在脚本结束时,应该打印路径。但不知何故,通过执行路径打印的最后一部分不会被执行。有人可以给我一个提示,为什么会发生这种情况?

@echo off

:: Path to *.apk file
set PATH_TO_APK=

:: A temporary file to hold the
:: path to the *.apk file; because of
:: Batch variables
set TMP=tmp.txt

:: A counter for the number of *.apk files
:: in the current folder
set cnt=0

:: Get the number of *.apks in the current folder
:: if more than one, than ask the user to enter
:: path to file; else pick the only *.apk available

for %%Z in (*.apk) do (
echo %%~fZ>%TMP%
set /a cnt+=1
)

set /P PATH_TO_APK=<%TMP%
del /F /Q %TMP%

if %cnt% NEQ 1 (
    echo There is either no *.apk file found or more than one.

    :: The user is asked to enter the path to the *.apk file
    set /p PATH_TO_APK="Please enter the path to the *.apk file: "
    setx PATH_TO_APK "%PATH_TO_APK%"

    :: If the *.apk does not exist, exit the script
    if not exist %PATH_TO_APK% (
    echo The path to the application file you entered is not valid.
    echo Please provide a valid path.
    echo Exiting script
)

echo The path: %PATH_TO_APK%

1 个答案:

答案 0 :(得分:2)

你在最后错过了一个右括号。

     if %cnt% NEQ 1 (

然后

     if not exist %PATH_TO_APK% (

但最后只有一次结束。

把另一个)放在最后一行之前。