2016-11-17 1 views
0

일괄 처리 스크립트가 경로를 찾을 수 없다는 불만을 나타냅니다. 경로가 무엇인지 설명하는 데 너무 정확하지는 않습니다. 이다.일괄 처리 파일 - VBScript 런타임 오류 : 경로를 찾을 수 없습니다.

C:/Users/Boss/AppData/Local/Temp/_.vbs(3, 1) Microsoft VBScript runtime error: Path not found 

이 스크립트의 모든 생각은 압축을 풀고 그것을 설정, 바람둥이 (그리고뿐만 아니라) donwload 지정된 디렉토리에 배치하는 것입니다 지금은 어떤 이유로 압축 해제 방법은 다운로드 및 unziping 완벽하게 잘 작동 Ant이지만 Tomcat에서는 그렇지 않습니다. 아래는 installAnt 및 installTomcat 메서드와 UnZip 메서드입니다.

:installAnt 
    ::----- ANT Section -----:: 

    :: Setup Apache Ant if Ant does not exist 
    md "%HOMEDRIVE%\Apache\apache-ant-1.9.7\" 2>nul 

    :: Set filename variable 
    SET "FILENAME=%~dp0\apache-ant-1.9.7-bin.zip" 

    :: Download ANT from mirror 
    bitsadmin.exe /transfer "Apache Ant Download" http://mirrors.ukfast.co.uk/sites/ftp.apache.org//ant/binaries/apache-ant-1.9.7-bin.zip "%FILENAME%" 

    :: Copy Apache Ant to C:\Apache 
    xcopy "%~dp0apache-ant-1.9.7-bin.zip" "%HOMEDRIVE%\Apache\." 

    :: Delete zip file from curent directory 
    del "%~dp0apache-ant-1.9.7-bin.zip" 

    :: Unzip Apache Ant to C:\Apache 
    call :UnZipFile "%HOMEDRIVE%\Apache\" "%HOMEDRIVE%\Apache\apache-ant-1.9.7-bin.zip" 

    :: Delete zip folder 
    del "%HOMEDRIVE%\Apache\apache-ant-1.9.7-bin.zip" 

    :: Set ANT_HOME path 
    set "ANT_HOME=%HOMEDRIVE%\Apache\apache-ant-1.9.7" 
    setx ANT_HOME "%HOMEDRIVE%\Apache\apache-ant-1.9.7" /m 

    :: Add ANT to path 
    set "path=%PATH%;%ant_home%\bin" 
    setx path "%PATH%" /m 

    goto checkIvy 

:installTomcat 
    ::----- Tomcat Section -----:: 
    echo Installing tomcat 
    :: Setup Apache Tomcat if Tomcat does not exist 
    md "%HOMEDRIVE%\Apache\apache-tomcat-7.0.56\" 2>nul 

    :: Set filename variable 
    SET "FILENAME=%~dp0\apache-tomcat-7.0.56.zip" 

    :: Download Tomcat from mirror 
    bitsadmin.exe /transfer "Apache Tomcat Donwload" http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.zip "%FILENAME%" 


    :: Copy Apache Tomcat to C:\Apache 
    xcopy "%~dp0apache-tomcat-7.0.56.zip" "%HOMEDRIVE%\Apache\." 

    :: Delete zip file from curent direcotry 
    del "%~dp0apache-tomcat-7.0.56.zip" 

    :: Unzip Apache Tomcat to C:\Apache 
    call :UnZipFile "%HOMEDRIVE\Apache\" "%HOMEDRIVE%\Apache\apache-tomcat-7.0.56.zip" 

    pause 

    rem :: Delete zip folder 
    rem del "%HOMEDRIVE%\Apache\apache-tomcat-7.0.56.zip" 

    rem :: Set TOMCAT_HOME 
    rem set "TOMCAT_HOME=%HOMEDRIVE%\Apache\apache-tomcat-7.0.56" 
    rem setx TOMCAT_HOME "%HOMEDRIVE%\Apache\apache-tomcat-7.0.56" /m 

    rem :: Add TOMCAT to path 
    rem set "path=%PaTH%;%tomcat_home%\bin" 
    rem setx path "%PATH%" /m 

압축 풀기 기능 :

:: Unzip file 
:UnZipFile <ExtractTo> <newzipfile> 
set vbs="%temp%\_.vbs" 
if exist %vbs% del /f /q %vbs% 
>%vbs% echo Set fso = CreateObject("Scripting.FileSystemObject") 
>>%vbs% echo If NOT fso.FolderExists(%1) Then 
>>%vbs% echo fso.CreateFolder(%1) 
>>%vbs% echo End If 
>>%vbs% echo set objShell = CreateObject("Shell.Application") 
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items 
>>%vbs% echo objShell.NameSpace(%1).CopyHere(FilesInZip) 
>>%vbs% echo Set fso = Nothing 
>>%vbs% echo Set objShell = Nothing 
cscript //nologo %vbs% 
if exist %vbs% del /f /q %vbs% 
goto :eof 

불행하게도 내가 배치 파일과 전문가가 아니다 그것은 톰캣 방법에 대한 개미 작동하지만 왜 내가 알아내는 문제를있다. 이 배치 파일의

3 호선 :

>>%vbs% echo If NOT fso.FolderExists(%1) Then 
>>%vbs% echo fso.CreateFolder(%1) 
>>%vbs% echo End If 

이 증거 :

:: @Author: Maciej Cygan 
+0

오류는 생성 된 VBScript에서 발생하며 배치 파일에서는 발생하지 않습니다. 그 파일의 3 행은 어떻게 생겼습니까? –

+0

@AnsgarWiechers 그냥 업데이트 당 –

+0

줄 3 생성 된 VBScript, ** NOT ** 배치 파일. –

답변

1

은 주어

>> p = "N:\ix" 
>> If Not goFS.FolderExists(p) Then 
>> goFS.CreateFolder p 
>> End If 
>> 
Error Number:  76 
Error Description: Path not found 

내가 가정이 % 1 인자가 경로를 보유하고 있다는 것을 접두어/상위 경로가 유효하지 않기 때문에 만들 수 없습니다 (여기에 N : 드라이브 없음). 그래서 (이중) % 1의 내용을 확인하십시오. 두 번째 생각에

추가 :

Now for some reason the UnZip method works perfectly fine for downloading and unziping Ant, but for Tomcat it does not.

을 쓴 :

당신이 말했듯이

call :UnZipFile "%HOMEDRIVE\Apache\" "%HOMEDRIVE%\Apache\apache-tomcat-7.0.56.zip" 

내가 더 가정, 즉 다스 려 제대로 HOMEDRIVE하기 -

같이
call :UnZipFile "%HOMEDRIVE%\Apache\" "%HOMEDRIVE%\Apache\apache-tomcat-7.0.56.zip" 

(추가 % 표시) 문제를 해결할 수 있습니다.

+0

오 하느님 ... 오타와가 그들을 사랑하고, 몇 시간 동안 피 묻은 것을 주연 시켰고, –

+0

@MaciejCygan을 눈치 채지 못했다. 몇 시간 동안 응시하지 않아도됩니다. 당신이해야 할 일은 정확하게 문제를 해결하는 것입니다. 스크립트를 줄 단위로 실행하면 변수 % homedrive %가 해당 값으로 확장되지 않습니다. 그 줄 바로 뒤에서 코드에 잠깐 멈추었습니다. 그것은 당신을 꼼짝 않고 바라보고있었습니다. – Squashman

+0

@ 스쿼시맨 예,하지만 가끔 쉬운 일은 # –

관련 문제