Хм ... ваш реальный вопрос (несмотря на название вопроса), кажется:
What I am trying to achieve is a batch file that that will find the javac.exe file then copy it to C:\kysumicomp...
Я думаю, что вы усложнять вещи.
Попробуйте это (см FOR /?
для получения дополнительной информации по выбору /R
):
FOR /R "%ProgramFiles%" %%a IN (.) DO (
IF EXIST "%%~a\javac.exe" COPY /Y "%%~a" C:\kysumicomp\
)
Обратите внимание, что это будет копировать все мест где javac.exe
в каталог, один перезапись другой (вопрос с вашим оригинальное решение тоже). Если вы хотите, чтобы остановить после первого удара, вам нужно выйти из цикла раньше:
FOR /R "%ProgramFiles%" %%a IN (.) DO (
IF EXIST "%%~a\javac.exe" (
COPY "%%~a" C:\kysumicomp\
GOTO END
)
)
:END
Наконец, более простое решение может покупать скопировать javac.exe
, что находится в вашем PATH
, при условии, что это.
FOR %%a IN (javac.exe) DO (
IF EXISTS "%%~$PATH:a" (
COPY "%%~$PATH:a" C:\kysumicomp\
)
)
Тогда, так как вы вопрос название уже не соответствует тому, что вы пытаетесь достичь, мне интересно, если вам действительно нужно сделать что-то совершенно другое вообще. Почему вы копируете javac.exe
в свой каталог в первую очередь?
Почему этот вопрос отмечен java? –
@TedHopp Я подозреваю, что в скрипте есть файл с именем 'javac.exe'! : P –