%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%2F%ED%8F%B4%EB%8D%94%EA%B0%80%20%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8%ED%95%A9%EB%8B%88%EB%8B%A4..png)
파일/폴더가 존재하는지 여부를 확인하려고 Windows 콘솔에 있습니다.
EXIST
일괄적으로 사용할 수 있지만 명령줄에서는 사용할 수 없습니다.
C:\Users\WIN7PR~1>EXIST C:\Users
'EXIST' is not recognized as an internal or external command, operable program or batch file.
답변1
리소스가 파일일 때의 솔루션은 다른 사람들이 지적한 것처럼 매우 간단합니다.
C:\> IF EXIST C:\CONFIG.SYS ECHO C:\CONFIG.SYS exists.
불행하게도 위의 내용은 디렉토리에서는 작동하지 않습니다. EXIST 함수는 누락된 폴더와 현재 폴더 모두에 대해 동일한 결과를 반환합니다. 다행히도 다음과 같은 모호한 해결 방법이 있습니다.
C:\> IF NOT EXIST C:\FOLDER\NUL ECHO C:\FOLDER missing.
C:\FOLDER missing.
C:\> MD C:\FOLDER
C:\> IF EXIST C:\FOLDER\NUL ECHO C:\FOLDER exists.
C:\FOLDER exists.
>NUL
명령문에 추가하는 것과 같은 구성을 지원하기 위해 모든 디렉토리에 "NUL"이라는 일종의 가상 파일이 있다는 것이 밝혀졌습니다 . 존재 여부를 확인하는 것은 디렉터리 존재 여부를 확인하는 것과 동일합니다.
이 동작은 Microsoft 기술 자료 문서(https://support.microsoft.com/en-us/kb/65994) 그리고 FreeDOS 1.1 및 Windows 7 명령 셸에서 해당 동작을 확인했습니다.
추가: KB 문서에는 이 기술을 사용하여 드라이브가 있는지 확인할 수도 있다고 나와 있습니다. 그러나 드라이브 존재 여부를 확인하는 경우에는 다음과 같은 주의 사항이 있습니다.
Abort, Retry, Fail?
드라이브가 포맷되지 않으면 오류가 발생합니다 .드라이브 존재 여부를 확인하기 위해 이 기술을 사용하는 것은 장치 드라이버 구현에 따라 다르며 항상 작동하지 않을 수도 있습니다.
답변2
당신은 간단하게 사용할 수 있습니다
DIR C:\User
답변3
명령을 사용하면 type
텍스트 파일을 열지 않고도 텍스트 파일의 내용을 반환하고 디렉터리의 경우 다음을 반환합니다. 액세스가 거부되었습니다.
파일이나 디렉터리를 사용할 수 없으면 다음 메시지가 표시됩니다. 시스템이 지정된 파일을 찾을 수 없습니다.
예를 들면 다음과 같습니다.
C:\>type c:\temp
Access is denied.
C:\>type c:\example.txt
Some example content in a text file
C:\>type c:\doesnotexist
The system cannot find the file specified.
답변4
다음 코드를 사용할 수 있습니다.
<pre>
:init
SETLOCAL enabledelayedexpansion
GOTO make_dir
:make_dir
ECHO .
ECHO Checking if exists directory %out_path% ...
CD %out_path%
IF !ERRORLEVEL! GTR 0 (
ECHO Directory doesn't exist, creating...
MD %out_path%
GOTO make_dir
) ELSE (
ECHO Directory already exists.
)
:GOTO back_it_up
:back_it_up
::Procedure that makes an backup
GOTO done
:done
ECHO Finished
SETLOCAL
EXIT /B
</pre>