我有以下批处理脚本,它搜索放置*.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%
答案 0 :(得分:2)
你在最后错过了一个右括号。
if %cnt% NEQ 1 (
然后
if not exist %PATH_TO_APK% (
但最后只有一次结束。
把另一个)放在最后一行之前。