简体   繁体   中英

ECHO command does not get executed in Batch script

I have the following Batch script, which searches the directory in which it is placed for a *.apk file. If more or less than one is found then the user gets asked to enter a path to an *.apk file.

At the end of the script the path should get printed. But somehow by executing the last part with the printing of the path does not get executed. Can someone give me a hint why is this happening?

@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%

You are missing a closing parenthesis at the end.

     if %cnt% NEQ 1 (

then

     if not exist %PATH_TO_APK% (

but only one closing ) at the end.

Put another ) before the final line.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM