Windows에서 Linux의“~”(물결표)에 해당하는 것은 무엇입니까?


72

Linux에서는 다음에 물결표 ( ~) 문자를 입력하여 사용자 홈으로 이동할 수 있습니다 cd.

cd ~

Windows에서 동일한 작업을 수행하는 방법

매번 다음을 입력해야합니다.

cd C:\Document and Settings\freewind

너무 지루 해요.


2
cygwin 사용을 고려 하시겠습니까?
Paul R

8
실제로 '~'는 대부분의 Linux 셸에서 'cd'의 기본값이므로 'cd'만 있으면 홈 디렉토리로 이동하기에 충분합니다


4
답은 "cd ~"입니다. Windows에서도 같은 명령을 사용할 수 있습니다. 그러나 CMD에서는이 명령이 오래되어 Microsoft에서 개발을 중단했기 때문에이 명령을 시도하지 마십시오. "Windows PowerShell"을 사용하면 동일한 명령이 원활하게 작동합니다.
Apple II

3
PowerShell, Win7 +와 함께 제공
Isaac Dontje Lindell

답변:


43

cd /d "%HOMEDRIVE%%HOMEPATH%" 그것을 할 것입니다-하지만 당신이 그것을 개선이라고 생각하는지 확실하지 않습니다.

위 명령에 대한 별명을 정의 할 수도 있습니다.

doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"

이 후에는 간단 cdhome합니다.


4
@Freewind : 기본 Windows 셸을 좋아해야합니다.
Jon

10
@ abatishchev : 좋은 질문입니다. SF에 대한이 질문 은 % USERPROFILE %이 바람직하다는 것을 나타냅니다.
Jon

3
cdhome을 대신에 cd ~를 매크로 이름으로 사용할 수도 있습니다.
jftuga

3
@abatishchev : Windows NT 계정에는 "홈 디렉토리"경로가 첨부 될 수 있으며 "프로필 디렉토리"와 분리되어 있습니다. 프로필은 설정 (레지스트리), 응용 프로그램 데이터 등을 유지합니다 . 반면 홈 디렉토리는 사용자 자신의 파일을 위한 것입니다 . 프로그램에 처음으로 "열기 / 저장"대화 상자가 표시되면 홈 디렉토리에서 시작됩니다. (Windows 95/98은 약간 다르게 사용했습니다. 구체적인 내용은 기억 나지 않습니다.) 이것은 Active Directory 환경에서 파일을 네트워크 공유에 저장하고 프로필을 로컬로 유지하는 데 유용합니다.
grawity

2
@jftuga : 또는 심지어 ~.
grawity

62

cd /d %USERPROFILE%cmd를 사용하면 사용할 수 있습니다 .

또는 cd ~PowerShell을 사용 하는 경우 사용할 수 있습니다 .


4
+1뿐만 아니라 변수 주위에 따옴표를 추가하십시오 (아마도 따옴표 c:\documents and settings\...가 없으면 공백이 끊어집니다)
Jon

7
@Jon : cd예외입니다. 항상 단일 인수가 필요하기 때문에 인용이 필요하지 않습니다. (Windows의 프로그램과 내장 기능들이 명령 행 자체를 분석해야하며, 쉘은 그것을하지 않습니다.) 항상 경로를 인용하는 것입니다 그러나 것이 좋습니다.
grawity

1
@barlop : 보통 CommandLineToArgvW () ; CLR / MinGW / Cygwin 런타임은 main ()을 호출하기 전에 자체적으로 동등한 기능을 자동으로 사용합니다. 그러나 일부 프로그램에는 파서가 완전히 cmd.exe자체 ( 예 : 자체 및 엉뚱한)로 작성되었습니다 /c.
grawity

1
@barlop : 주어진 명령의 일부로 따옴표 (또는 리디렉션)를 사용하려고하면 아닙니다. 그것은인가 /c "C:\foo bar\baz" "my file.txt"또는 /c "\"C:\foo bar\baz\" \"my file.txt\""/c ""C:\foo bar\baz" "my file.txt""? 무엇이 더 나쁜 것은 여부에 구문 분석이 달려 있다는 것입니다 /s이전에 지정된 실행 파일의 이름은 있는지, 특수 문자의 존재를 C:\foo bar\baz하거나 C:\foo...
grawity

1
@TheLQ 배치 스크립트는 훨씬 더 쉽습니다. 단일 문자를 입력하여 동일한 결과를 얻을 수 있습니다. 설명은 아래 답변을 참조하십시오.
weberc2

13

한 가지 가능성은 subst명령 프롬프트에서 명령 을 사용하는 것입니다 .

subst z: C:\Document and Settings\freewind

Z :를 탐색 할 때마다 사용자 폴더가 표시됩니다.

단점은 로그인 할 때마다 실행해야한다는 것입니다. 배치 파일을 사용하여 시작 폴더에 넣었지만 더 우아한 해결책이 있습니다.

장점은 doskey 별칭과 달리 명령 프롬프트에서 디렉토리를 변경할 때뿐만 아니라 보편적으로 작동합니다 (Windows 탐색기, 찾아보기 대화 상자 등). "데스크톱"이 아니라 최상위 레벨에 드라이브 문자가있는 이전 찾아보기 대화 상자가있는 이전 프로그램에 특히 유용합니다.


드라이브를 매핑하고 로그인 후 자동으로 다시 매핑 할 수 있습니다. subst를 사용할 필요가 없습니다
phuclv

1
@ LưuVĩnhPhúc 완전히 논리적이지는 않지만 실제로 사용하지 않는 한 Windows 네트워크 공유를 피하는 경향이 있습니다. 성능과 안정성이 예측할 수없는 것 같습니다. 반드시 대안이 있다면, 더 나은 방법으로, 모든 사람의 이익을 위해 자체 답변으로 게시하십시오 :)
mo.

6

당신은 이것을 할 수 있습니다 :

cd %homepath%

5
다른 드라이브를 사용하는 경우 고장이 발생합니다 (예 : 켜져 E:있고 homedir이 켜져 있음)C:
Piskvor

4

~.bat포함 이라는 배치 파일을 만들 수 있습니다

@echo off
cd /d %USERPROFILE%

그리고 PATH 변수에 추가하십시오 (시작-> [ "컴퓨터"를 마우스 오른쪽 단추로 클릭]-> 속성-> "고급 시스템 설정"[왼쪽 열]-> "환경 변수")

거기에서 ~.bat파일이 들어있는 폴더를 포함하도록 PATH 변수를 편집하십시오 . (이것은 파일의 절대 경로가 아닌 파일 이름 만 사용하여 어디서나 스크립트를 호출 할 수있게합니다)

또한 PATHEXT환경 변수에 .BAT어딘가에 포함되어 있는지 확인하십시오 (이 ~대신 입력 할 수 있음 ~.bat).

사용해야 할 ~경우 명령 프롬프트에서 간단히 입력하십시오 . 이 솔루션은 영구적이므로 셸을 시작할 때마다 설정하지 않아도되므로 레지스트리를 해킹 할 필요가 없습니다.


2

불행히도, 나는 완벽한 솔루션을 알지 못하지만 몇 가지 해킹 옵션이 있습니다.

옵션 1 : ~를 doskey와 함께 명령 별칭으로 설정

doskey ~=cd /d %USERPROFILE%

이것은 당신이 단순히 ~당신의 homedir에 chdir을 입력 하고 가질 수있게 해줍니다 .

C:\>~
C:\Users\a>

분명히 이것은 집으로 돌아가는 키 스트로크의 수를 줄이지 만 (리눅스와 비교해도) 실제로 다른 경로의 일부로 사용할 수 없거나 CD로 집을 넘어서서 많은 것을 할 수 없기 때문에 덜 강력합니다.

옵션 2 : ~를 변수로 설정

더 강력한 옵션을 원한다면 다른 옵션은 var를 설정하는 것입니다.

set ~="%USERPROFILE%"

그러나 이것을 사용하면 다음과 같이 사용됩니다 :

E:\>cd /d %~%
C:\Users\a>

그것은 또한 대부분의 경로에 주입 될 수 있으며 단순히 집으로 cding하는 것을 제한하지는 않습니다.

두 옵션 모두 동시에

또한 두 방법을 동시에 구현할 수 있습니다. 주위에 %가 있으면 변수를 사용합니다. 그렇지 않으면 ~명령으로 취급 됩니다.

C:\>:: ECHO (display) THE VALUE OF %~%
C:\>echo %~%
C:\Users\a

C:\>:: ChDir to ~\DESKTOP
C:\>cd /d %~%\Desktop

C:\Users\a\Desktop>:: USE THE ~ COMMAND
C:\Users\a\Desktop>~

C:\Users\a>

다른 팁 (kinda 관련) :

추가 키 입력을 저장하기 위해 최소한 가정용 PC에있는 회사 컴퓨터에서는 받아 들일 가능성이 적습니다 %USERPROFILE%. 디렉토리 이름을 단순한 이름으로 지정 하는 것은 나쁜 생각이 아닙니다 . 위의 예제에서 볼 수 있듯이 사용자 디렉터리는 C:\Users\a항상 'aplocher'또는 'adamp'를 사용하고 단일 문자로 변경했을 때 마술이었습니다.


1

Powershell에서 %variable%구문이 작동하지 않습니다. 당신은 이것을 할 수 있습니다 :

cd $env:USERPROFILE

2
cd ~PowerShell에서 사용할 수 있습니다 .
wjandrea

0

PowerShell을 사용하여 사용자 이름을 알고 파일 디렉토리 권한이 부여 된 경우 다음 방법으로 디렉토리를 탐색 할 수 있습니다.

cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music

PowerShell (64 비트)의 아래 예를 참조하십시오. 나는 이것을 Windows 7 Pro 64 비트 상자에서 테스트했습니다.

Windows 7 Pro 64 비트에서 Linux Lilde에 해당

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.