현재 디렉터리 이름을 배치 파일의 변수로 쿼리하는 방법

현재 디렉터리 이름을 배치 파일의 변수로 쿼리하는 방법

나는 동일한 폴더 이름을 가진 텍스트 파일을 생성하는 것과 같은 변수에 현재 디렉토리 이름을 가져 오는 데 성공하지 못한 채 연구하고 노력해 왔지만 %CurrDirNam%아래의 세 번째 예는 작동하지만 실행하면 기존 파일과 내용을 덮어 씁니다. 그래서 파일의 존재를 확인하기 위해 결론을 수정했습니다. Set DirName=%cd% For %%A in ("%dirname%") do ( Set Name=%%~nxA ) IF NOT EXIST %Name%.txt Echo %Dirname% > %DirName%\%Name%.txt Rem ---이런 죄송합니다. CRLF와 들여쓰기를 사용하여 코드 형식을 다시 지정하는 방법을 모르겠습니다. 난 이게 처음이야...

답변1

이것을 실행하면

Set DirName=%cd% 
Echo %Dirname% > %DirName%.txt

~에서C:\온도, 다음으로 확장됩니다.

Set DirName=C:\Temp 
Echo C:\Temp > C:\Temp.txt

C:\에 대한 쓰기 권한이 없으면 실패하며접근 불가메시지를 받습니다.

C:\Temp에 파일을 생성하려면 다음과 같이 사용하십시오.

Set DirName=%cd% 
Echo %Dirname% > %DirName%\test.txt

파일 이름이 디렉터리 이름과 일치해야 하는 경우 다음 방법을 사용하세요.

Set DirName=%cd%
For %%A in ("%dirname%") do (
    Set Name=%%~nxA
)
Echo %Dirname% > %DirName%\%Name%.txt

답변2

Windows 10 시스템에서 이것을 테스트했는데 문제 없이 작동했습니다.

>path.txt echo %cd%

경로를 원하는 디렉토리에 있는 동안 배치 스크립트에서 이것을 실행했습니다. 제 경우에는 URL을 생성하는 경로만 원했습니다. 이 경로를 사용하면 >url.txt echo %cd:\=/%URL에서 슬래시로 사용해야 하는 모든 백슬래시도 처리되어 문제가 해결된다는 사실을 알았습니다.

이제 남은 단계는 url.txt 파일을 약간 편집하는 것입니다.

관련 정보