명령 프롬프트에서 명령 별칭?


18

Windows 명령 프롬프트에서 어떻게 명령 별칭을 만들 수 bash있습니까?

나는에 대해 알게 doskey포럼 스레드 내가 좋아하는 뭔가를 할 수 있도록 :

doskey ls=dir /b

... 이제이 명령 lsls유닉스 에서 조금 더 작동합니다 . (나는 ls너무 자주 입력 하면 cmd재미도 없습니다.)

그러나 세션간에이를 어떻게 유지해야합니까? 다음에 열면 사라집니다 cmd.exe. (같은 것이 .bash_profile있습니까?)


이 주제를 유감스럽게 생각하지만 죄송하지만 cygwin 사본을 설치하고 모든 유닉스 도구를 손목 받침대에 둘 수 있습니다
bubu

예,하고 싶지만 이것이 옵션이라고 생각하지 않습니다 (그리고 가치가있는 것보다 더 많은 작업이 필요할 수 있습니다). 내 기본 컴퓨터는 Linux 및 OS X입니다. Windows에서 일부 프로그램을 테스트하고 있습니다.
Benjamin Oakes

1
할 일이별로 없습니다. cygwin.com/setup.exe 만 설치하면됩니다. 다운로드하고 다음을 클릭하십시오. 모든 것이 있고 매우 간단합니다. 구성 할 것도 많지 않습니다.
bubu

흠 ... 음, 시험해 볼게요. 기계는 이미 많은 문제를 가지고 있습니다 ...;)
Benjamin Oakes

4
MS-DOS 버전 6.22 이하가 아니면 DOS를 실행하고 있지 않은 것입니다. cmd.exe 에 대한 언급으로 기본 WinNT / 2k / XP / etc 명령 셸에 대해 이야기한다고 가정합니다.
quack quixote

답변:


0

cygwin은 정확한 주제가 아니지만이 경우에 사용될 수 있습니다.

http://www.cygwin.com/ CygWin
다운로드 : http://cygwin.com/setup.exe

Windows에서 쉽게 액세스하려면 c : \ cygwin \ bin을 경로에 넣으십시오.

find (1) vs find.exe-find (1)은 grep과 같은 find.exe 기능을 사용하는 반면 find (1)은 find.exe와 같은 모든 파일과 하위 디렉토리를 나열합니다.

다른 옵션은 액세스하는 것입니다

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor \ AutoRun 또는 HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRun

확인

 cmd.exe /? 
상세 사항은


흠 ... 내 Windows 경로를 사용하지 않는 것 같습니다 ... 나중에이 문제를 해결해야한다고 생각합니다. (Cygwin을 이전에 심각하게 사용한 적이 없습니다.) 지금까지 도와 주셔서 감사합니다.
Benjamin Oakes 2016 년

cygwin 경로를 windows path 환경 변수에 추가하면 cmd.exe의 cygwin 환경에있는 도구를 사용할 수 있습니다. cygwin에서 제공하는 find 명령과 find.exe 충돌과 같은 경고가 있습니다.
bubu

왜 언더 보트인가? 나도 몰라
bubu

34

@DOSKEY명령 및 HKCU\Software\Microsoft\Command Processor자동 실행 옵션을 사용하여 Windows 명령 프롬프트에서 영구 별명을 설정하는 것이 다소 쉽습니다 .

빠른 단계별 가이드 :

  1. 새 배치 파일을 작성하여 호출하십시오 Alias.bat. 아래 텍스트를 복사 / 붙여 넣기하십시오. 팁 :C:\Bin 모든 명령 줄 도구를위한 폴더를 만드는 것이 좋습니다 .
  2. 레지스터를 엽니 다 HKEY_CURRENT_USER\Software\Microsoft\Command Processor.
  3. 이름이 지정된 문자열 값을 추가 Autorun하고 값을 Alias.bat파일의 절대 경로로 설정 하십시오.
  4. 끝난.

이 배치 파일은 명령 프롬프트를 열 때마다 실행됩니다.

Alias.bat의 내용

DOSKEY ls=DIR $* 
DOSKEY cp=COPY $* 
DOSKEY xcp=XCOPY $*
DOSKEY mv=MOVE $* 
DOSKEY clear=CLS
DOSKEY h=DOSKEY /HISTORY
DOSKEY alias=if ".$*." == ".." ( DOSKEY /MACROS ) else ( DOSKEY $* )

이제 alias(예 :) 를 입력 DOSKEY /MACROS하여 현재 별칭 / 매크로 목록을 볼 수 있습니다 .

현재 세션에 대해서만 새 별칭을 추가하려면을 사용할 수 있습니다 alias name=command.


1
설치 후 간단하고 쉽게 업데이트 할 수 있습니다.
우르 다

불행히도 @DOSKEYAutodesk Maya 2010을 종료 할 때 명령으로 인해 충돌이 발생하기 때문에 이러한 별칭 사용을 중단했습니다 .
데니스

9

또한 주제를 벗어난 주제-

cmd.exe명령 줄 대신 PowerShell을 사용하십시오 . 좋은 소식은 PowerShell이에 해당 .bash_profile하고 cmd.exe명령 줄 처럼 실행 된다는 것 입니다. 기본 제공 별칭 생성 기능이 제공됩니다. 나쁜 소식은 간단한 cmd.exe명령 보다 복잡한 것을 원한다면 약간의 학습 곡선이 있다는 것입니다 .

그건 그렇고, 상자에서 바로 ls별칭으로 정의됩니다 dir.


왜 아무도 전에 파워 쉘을 사용하라고 말하지 않았습니까? 많은 것들에 대해 훨씬 낫습니다.
Andres

3

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRuncmd 프롬프트를 시작할 때 명령을 실행할 수 있는 레지스트리 항목 이 있습니다. 배치 파일이 포함됩니다.


다른 사용자와 동일한 사용자 ID가 없으므로 HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRun을 가리킬 수 있습니다.
bubu

@bubu : 아, 정말 죄송합니다. 내 레지스트리를 검색하여 생각하지 않았다는 것을 알았습니다.
Phoshi

1

이 링크 에서 이러한 명령의 dos 버전을 직접 설치하는 것이 좋습니다 .

간단하고 가벼우 며 효율적 임 Cygwin은 내가 필요한 필수 요소에 비해 약간 큽니다.


0

autoexec.bat에 넣으십시오. 잘 모르겠습니다. 시도 해봐야합니다. autoexec.bat 자체를 C : \에 넣으십시오.


작동하지 않는 것 같습니다 ...
Benjamin Oakes


0

나는 잠시 동안 네크로맨서가되어이 실을 죽음에서 끌어 올릴 것이다. 대답이 나에게 만족스럽지 않았습니다. 더 좋은 방법이 있다는 것을 알았습니다. 나는 박쥐 파일을 만들고 포함시키고 스파게티 볼을 잘 작동시키는 방법을 알아 내려고 노력했습니다. 어쨌든 구글로 돌아갔다 ..

나도 이것을 찾았다 새로운 DOS 별칭 / 명령을 추가하고 관리자 DOS를위한 키보드 단축키를 만드는 방법 그것은 훌륭하게 작동하며 98-7에서 작동해야합니다 (kinda funny numbering system이지만 창입니다). 이 스레드의 사람들과 Google이 이런 방식으로 보내는 사람들에게 도움이되기를 바랍니다.

이 방법은 Alias만큼 간단하지 않으며 doskey도 아닙니다. 일단 설정하면 거의 같은 노력입니다.

또한 Dennis Williamson의 답변과 병합 된 부분이 훨씬 낫습니다. 동일한 응용 프로그램의 여러 버전에 대해 쉘 환경을 가질 수 있습니다 (예 : 이전 스크립트의 경우 php 4, 테스트 서버의 경우 php 5).

어쨌든 이것은 나를 위해 훨씬 잘 해결되었습니다.


0

PATH 환경을 설정하여 해결

ls.c 파일 만들기

다음 코드를 입력하십시오

int main()
{
system("dir /b");
return 0;
}

ls.c에 넣고 파일을 컴파일하십시오.

$gcc ls.c -o ls

실행 파일 ls.exe 가 생성됩니다

디렉토리를 만들고 cmdline_tools 로 이름을 지정하십시오.

$mkdir cmdline_tools

ls.exe 를 디렉토리에 복사

PATH 환경에서 디렉토리 경로 설정 [디렉토리 위치를 복사하여 PATH에 붙여 넣기]

C:/cmdline_tools

cmd.exe를 열고 다음을 입력하십시오.

$ ls

dir 명령으로 작동합니다. 다른 명령도 같은 방식으로 수행 할 수 있습니다. 우리에게 알려주지 않으면.


0

doskey 및 bashrc (cygwin> bash에서)의 별칭 / 함수가있는 CMD, 슬래시도 cmd (win7 이상)에서 작동합니다

  1. cmdrc.cmd를 사용하려면 cmd에 shorcut을 작성하십시오.

    cmd -a "/ k % HOME % \ cmdrc.cmd c : \"

2 C :> 고양이 % HOME % / cmdrc.cmd

:: Override same named builtin windows commands
:: To override these aliases, prefix with '@', eg. @date will not use alias.
@doskey date=c:\cygwin\bin\date.exe $*
@doskey echo=c:\cygwin\bin\echo.exe $*
@doskey mkdir=c:\cygwin\bin\mkdir.exe $*
@doskey rmdir=c:\cygwin\bin\rmdir.exe $*
@doskey find=c:\cygwin\bin\find.exe $*
@doskey time=c:\somedir\time.exe $*

:: using a particular rsync with some options
@doskey rsync=c:\cygwin\bin\rsync.exe -e "ssh -F %HOME%/.ssh/config" $*   

@doskey cp='cp -vi %*'
@doskey ..=cd ..
@doskey ...=cd ../.. 

:: Or use bashrc (bash aliases, bash functions):

:: eg. In bashrc we have "alias cpvi='cp -vi'"

@doskey cpvi=bash -ic "set +u; cpvi $*"  

:: now cpvi is callable from cmd.

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