notepad++.exe
환경 변수의 경로에 추가 했습니다.
이제 명령 프롬프트 notepad++.exe filename.txt
에서을 엽니 다 filename.txt
. 그러나 나는 np filename.txt
파일을 열기 만하고 싶습니다 .
사용하려고했습니다 DOSKEY np=notepad++
. 그러나 파일을 열지 않고 이미 열려있는 notepad ++를 최전방에 가져옵니다. 파일을 어떻게 열 수 있습니까?
감사.
notepad++.exe
환경 변수의 경로에 추가 했습니다.
이제 명령 프롬프트 notepad++.exe filename.txt
에서을 엽니 다 filename.txt
. 그러나 나는 np filename.txt
파일을 열기 만하고 싶습니다 .
사용하려고했습니다 DOSKEY np=notepad++
. 그러나 파일을 열지 않고 이미 열려있는 notepad ++를 최전방에 가져옵니다. 파일을 어떻게 열 수 있습니까?
감사.
답변:
josh의 답변에 추가하려면
다음 단계에 따라 별칭을 지속 시킬 수 있습니다 .
DOSKEY
명령 으로 .bat 또는 .cmd 파일을 작성하십시오 .HKEY_CURRENT_USER\Software\Microsoft\Command Processor
이름 AutoRun
과 .bat / .cmd 파일 의 전체 경로 와 함께 문자열 값 항목을 추가 하십시오.
예를 들어, %USERPROFILE%\alias.cmd
경로의 초기 세그먼트를로 바꾸면 %USERPROFILE%
여러 컴퓨터간에 동기화하는 데 유용합니다.
이런 식으로 cmd가 실행될 때마다 별명이로드됩니다.
Windows 10의 경우 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
대신 항목을 추가하십시오 .
완성도를 높이기 위해 유용한 별칭의 종류를 설명하는 템플릿이 있습니다.
@echo off
:: Temporary system path at cmd startup
set PATH=%PATH%;"C:\Program Files\Sublime Text 2\"
:: Add to path by command
DOSKEY add_python26=set PATH=%PATH%;"C:\Python26\"
DOSKEY add_python33=set PATH=%PATH%;"C:\Python33\"
:: Commands
DOSKEY ls=dir /B
DOSKEY sublime=sublime_text $*
::sublime_text.exe is name of the executable. By adding a temporary entry to system path, we don't have to write the whole directory anymore.
DOSKEY gsp="C:\Program Files (x86)\Sketchpad5\GSP505en.exe"
DOSKEY alias=notepad %USERPROFILE%\Dropbox\alias.cmd
:: Common directories
DOSKEY dropbox=cd "%USERPROFILE%\Dropbox\$*"
DOSKEY research=cd %USERPROFILE%\Dropbox\Research\
$*
구문 디렉토리 문자열뿐만 아니라 인수에 소요 실행 한 후 작동합니다. 위의 예에서 사용자 정의 명령 dropbox research
은와 동일한 디렉토리를 가리 킵니다 research
.alias.cmd
파일 을 편리하게 편집 할 수있는 명령을 포함시키는 것이 좋습니다 . alias
위를 참조하십시오 . cmd 세션에있는 경우 cmd cmd
를 다시 시작하고 alias.cmd
파일을 다시로드하려면 입력 하십시오.인터넷에서 질문에 대한 답변을 검색했을 때 토론은 지속성 또는 일부 DOSKEY 사용에만 중점을 두었습니다. 나는이 두 가지 측면이 함께 여기에서 혜택을 누리기를 바랍니다.
다음 .reg
은 설치에 도움이 되는 파일 alias.cmd
입니다. 위에서 제안한대로 dropbox 폴더의 예로 설정되었습니다.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="%USERPROFILE%\\alias.cmd"
단일 사용자 응용 프로그램의 경우 위와 같습니다. 그럼에도 불구하고 alias.cmd
레지스트리 키의 첫 번째 존재 여부를 확인해야하는 상황이 있습니다 . 아래 예를 참조하십시오.
C:\Users\Public\init.cmd
잠재적 인 사용자 간 구성을 호스팅 하는 파일에서 :
@ECHO OFF
REM Add other configurations as needed
IF EXIST "%USERPROFILE%\alias.cmd" ( CALL "%USERPROFILE%\alias.cmd" )
레지스트리 키는 파일에 C:\Users\Public\init.cmd
따라 또는 .reg
파일을 사용하여 업데이트해야 합니다.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="C:\\Users\\Public\\init.cmd"
system
기능을 포함하여 cmd.exe의 모든 인스턴스에 대해 실행 됩니다. 특정 변수 (예 :) AUTORUN
가 정의 된 경우 종료해야합니다 . 그렇지 않으면 환경 ( set AUTORUN=1
)을 설정하고 doskey.exe를 실행하는 대신 macrofile 옵션을 사용하여 단일 패스에서 doskey를 설정하여 각 별명을 정의하십시오.
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
오늘날 의 대체품은 무엇입니까 ? 더 이상 regedit에서 그 길을 찾을 수 없습니다
doskey /macrofile="%USERPROFILE%\alias"
. 그런 다음 'doskey'부분없이 'alias'파일에 별칭을 넣습니다. 관리자가 자동 실행 정의를 사용자가 스스로 만들 수있는 별칭으로 제한하는 데 사용할 수있는 솔루션입니다. 사용자가 다른 작업을 자동 실행하지 못하게합니다.
매개 변수를 전달해야합니다. 다음을 시도하십시오.
doskey np=notepad++.exe $*
편집 (Romonov의 의견에 응답) Q : 명령 프롬프트를 기억할 수있는 방법이 있습니까? 그래서 새 명령 프롬프트를 열 때 마다이 명령을 실행할 필요가 없습니까?
doskey
명령 프로세서에 의해 해석되는 텍스트 명령 (예 : cmd.exe)이며 다른 프로세스 (특히 아직 시작되지 않은 프로세스)에서 상태를 수정하는 것을 알 수 없습니다.
doskey
초기 명령 셸 환경을 설정 하는 데 사용 하는 사람들은 일반적으로 /K
옵션을 사용하여 ( 일반적으로 바로 가기를 통해) 모든 일반적인 설정 (예 : 창의 제목, 색상 등)을 수행하는 배치 파일을 실행합니다.
cmd.exe /K env.cmd
env.cmd :
title "Foo Bar"
doskey np=notepad++.exe $*
...
doskey npp="C:\Program Files (x86)\Notepad++\notepad++.exe" $*
간단한 명령을 사용하려면 다음 단계를 수행하십시오.
어쩌면 과잉일지도 모르지만 @Argyll의 (그렇지 않으면 우수한) 답변과 달리 매번이로드의 문제를 해결합니다.
예를 들어 dig2.bat 라는 파일 이 있으며 다음과 같습니다.
@echo off
echo.
dig +noall +answer %1
귀하의 순이익 파일은 다음을 할 것이다 :
@echo off
echo.
notepad++.exe %1
그런 다음 C : \ Aliases 폴더를 PATH 환경 변수에 추가하십시오. CMD 또는 PowerShell이 이미 열려 있으면 다시 시작해야합니다.
FWIW에는 C : \ Aliases 디렉토리에 약 20 개의 별칭 (별도의 .bat 파일)이 있습니다. 필요한 경우 새 별칭을 만듭니다. 아마도 가장 작지는 않지만 잘 작동합니다.
업데이트 : 사용자 @Mav의 훌륭한 제안에 따르면 % 1 대신 % * 를 사용하는 것이 더 낫기 때문에 여러 파일을 명령에 전달할 수 있습니다.
@echo off
echo.
notepad++.exe %*
그렇게하면 다음과 같이 할 수 있습니다.
np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt
3 개의 파일이 모두 열립니다.
doskey
.
ls.exe
분명히 작동합니다. 좋은 지적. 그래도 도스 키 대안을 사용했습니다.
docker exec --user devilbox dvlbx_php_1 php %*
또는 cmder
linux와 같이 별칭을 추가 할 수 있는 다음을 사용할 수 있습니다.
alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*
PATH 변수에 notepad ++. exe를 추가했다면 간단합니다. System32 폴더 np.bat
에 다음 코드를 사용하여 파일을 작성하십시오 .
@echo off
call notepad++.exe %*
%*
패스는 모든 인수에 따라 당신은주고 np
받는 명령을 notepad++.exe
명령.
편집 : 파일을 System32 폴더에 저장하려면 관리자 권한이 필요합니다. 방금 다른 곳에 파일을 만들어 수동으로 System32로 옮겼습니다.
"notepad++.exe *somefiles*"
일치하는 파일이 열립니다. 제안 된 배치 파일로 시도했을 때, 즉 "npp *somefiles*"
NPP 인스턴스를 열었지만 통과 한 파일을 열지 않았습니다. 이견있는 사람?
또한 다음 명령을 사용하여 경로에 alias.cmd를 만들 수 있습니다 (예 : C : \ Windows).
@echo %2 %3 %4 %5 %6 > %windir%\%1.cmd
일단 그렇게하면 다음과 같이 할 수 있습니다.
alias nameOfYourAlias commands to run
그 후 당신은 쉼표 줄에 입력 할 수 있습니다
nameOfYourAlias
이것은 실행될 것이다
commands to run
그러나 가장 좋은 방법은 프로그램의 경로를 추가하는 것입니다.
setx PATH "%PATH%;%ProgramFiles%\Sublime Text 3" /M
그리고 지금 나는 숭고한
subl index.html
콘솔 별명을 정의하려면 Doskey.exe
을 사용하여 매크로를 작성하거나 AddConsoleAlias
함수를 사용하십시오 .
doskey test=cd \a_very_long_path\test
매개 변수 를 전달하려면 $*
끝에 추가 하십시오.doskey short=longname $*
AddConsoleAlias( TEXT("test"),
TEXT("cd \\<a_very_long_path>\\test"),
TEXT("cmd.exe"));
다음을 입력하여 별명을 작성하려고합니다.
c:\>alias kgs kubectl get svc
Created alias for kgs=kubectl get svc
그리고 다음과 같이 별명을 사용하십시오.
c:\>kgs alfresco-svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alfresco-svc ClusterIP 10.7.249.219 <none> 80/TCP 8d
다음 alias.bat
파일을 경로에 추가하십시오 . 단순히 자체와 동일한 디렉토리에 추가 배치 파일을 작성합니다.
@echo off
echo.
for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b
echo @echo off > C:\Development\alias-script\%1.bat
echo echo. >> C:\Development\alias-script\%1.bat
echo %ALL_BUT_FIRST% %%* >> C:\Development\alias-script\%1.bat
echo Created alias for %1=%ALL_BUT_FIRST%
이 생성 된 배치 파일의 예 kgs.bat
는 다음과 같습니다.
@echo off
echo.
kubectl get svc %*
실제로, 나는 당신에게 한 가지 더 나아갈 것이고 Amiga에서 프로그래밍하는 데 사용 된 이래로 사용 된 작은 기술에 대해 알려줄 것입니다. 에 어떤 당신이 사용하는 새로운 시스템, 그것은 개인 또는 전문 수, 스텝 하나는 두 개의 폴더를 만드는 것입니다 : C:\BIN
와 C:\BATCH
. 그런 다음 경로 설명을 수정하여 처음에 순서대로 두십시오 C:\BATCH;C:\BIN;[rest of path]
.
그렇게 한 후에, 비정품 유틸리티가 거의 없다면 단순히 C:\BIN
폴더에 복사하기 위해 액세스해야 하며 경로에 있습니다. 이러한 할당을 일시적으로 무시하기 위해 실행 파일과 동일한 이름의 배치 파일을 C:\BATCH
폴더에 추가하면 경로가 C : \ BIN의 파일보다 우선합니다. 그것은 당신이해야 할 모든 것을 포함해야합니다.
물론 요즘에는 파일에 대한 상징적 접합을 만드는 것이 올바른 정식 방법이지만 동일한 원칙이 적용됩니다. 약간의 추가 보너스도 있습니다. 시스템에 이미 경로에있는 것과 충돌하는 것을 넣으려면 C:\BIN
또는 C:\Batch
폴더 에 넣으면 원본을 선취 하여 물건을 일시적으로 또는 영구적으로 무시하거나 이름을 다른 이름으로 바꿀 수 있습니다 실제로 원본을 변경하지 않고 더 편안합니다.
roryhewitt 답변 확대 .
DOSKEY에 비해 .cmd 파일을 사용하는 이점은 PowerShell 또는 WSL (Linux 용 Windows 하위 시스템)과 같은 다른 셸에서 이러한 "별칭"을 사용할 수 있다는 것입니다.
bash에서 이러한 명령을 사용하는 유일한 방법은 "별칭 (alias)"을 호출하기 전에 약간의 경로 조작이 필요할 수 있기 때문에 약간의 설정이 더 필요할 수 있다는 것입니다.
예를 들어 Visual Studio에서 파일을 편집하기위한 "별칭"인 vs.cmd가 있습니다.
@echo off
if [%1]==[] goto nofiles
start "" "c:\Program Files (x86)\Microsoft Visual Studio
11.0\Common7\IDE\devenv.exe" /edit %1
goto end
:nofiles
start "" "C:\Program Files (x86)\Microsoft Visual Studio
11.0\Common7\IDE\devenv.exe" "[PATH TO MY NORMAL SLN]"
:end
어떤 파일이없는 내 "정상"프로젝트를 사용하여 VS (이 경우 VS2012-맛에 맞게 조정)를 실행하지만 파일이 주어지면 파일을 시작하지 않고 해당 프로젝트 내에서 해당 파일을 여는 실행중인 VS에 첨부하려고 시도합니다. VS의 새로운 인스턴스.
bash에서 이것을 사용하려면 "vs Myfile"이 항상 작동하지 않기 때문에 여분의 간접 수준을 추가하십시오.
alias vs='/usr/bin/run_visual_studio.sh'
vs.cmd를 호출하기 전에 경로를 조정합니다.
#!/bin/bash
cmd.exe /C 'c:\Windows\System32\vs.cmd' "`wslpath.sh -w -r $1`"
이 방법으로 할 수 있습니다
vs SomeFile.txt
명령 프롬프트, Power Shell 또는 bash에서 실행중인 Visual Studio에서 편집을 위해 열립니다 (따라서 가난한 두뇌가 VI 명령 또는 몇 시간 동안 VS에서 편집했을 때 그러한 명령을 처리하지 않아도됩니다).
이 솔루션은 적절한 솔루션은 아니지만 경우에 따라 목적에 부합합니다.
먼저 폴더를 만들어 시스템 경로에 추가하십시오. 별명을 작성하려는 모든 프로그램의 실행 파일로 이동하십시오. 마우스 오른쪽 버튼을 클릭하고 바탕 화면으로 보내십시오 (바로 가기 만들기). 편리한 별칭 이름으로 바로 가기 이름을 바꿉니다. 이제 바로 가기를 가져 와서 폴더에 넣으십시오.
실행 프롬프트에서 바로 가기 이름을 직접 입력하면 프로그램을 열 수 있습니다. 그러나 명령 프롬프트에서 .lnk 를 추가 하고 Enter 키를 누르면 프로그램이 열립니다.
당연히, 나는 가장 편리한 해결책을 얻을 때까지 쉬지 않을 것입니다. 광대 한 인터넷에서 매우 많은 답변과 주제를 결합하면 다음과 같은 것을 얻을 수 있습니다.
cmd
DOSKEY
별칭에 키워드 가 필요하지 않습니다이것은 Argyll의 답변 과 의견을 기반으로 하며 개념을 이해하기 위해 반드시 읽으십시오.
1) 별명을 가진 매크로 파일 (또는 다른 것들도 실행하기 위해 박쥐 / cmd 파일)을 만듭니다
.2) cmd의 각 인스턴스에서 실행되도록 레지스트리에 등록하십시오
-원하는 경우 바로 가기를 통해 실행할 수도 있습니다
%userprofile%/cmd/aliases.mac
;==============================================================================
;= This file is registered via registry to auto load with each instance of cmd.
;================================ general info ================================
;= https://stackoverflow.com/a/59978163/985454 - how to set it up?
;= https://gist.github.com/postcog/5c8c13f7f66330b493b8 - example doskey macrofile
;========================= loading with cmd shortcut ==========================
;= create a cmd link with the following target :
;= %comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"
alias=subl %USERPROFILE%\cmd\aliases.mac
hosts=runas /noprofile /savecred /user:QWERTY-XPS9370\administrator "subl C:\Windows\System32\drivers\etc\hosts" > NUL
ls=ls --color=auto $*
ll=ls -l --color=auto $*
la=ls -la --color=auto $*
grep=grep --color
~=cd %USERPROFILE%
cdr=cd c:\repos
cdd=cd c:\repos\dixons
cds=cd c:\repos\stekkie
cdu=cd c:\repos\uplus
cduo=cd c:\repos\uplus\oxbridge-fe
cdus=cd c:\repos\uplus\stratus
;============================= :end ============================
;= rem ******************************************************************
;= rem * EOF - Don't remove the following line. It clears out the ';'
;= rem * macro. We're using it because there is no support for comments
;= rem * in a DOSKEY macro file.
;= rem ******************************************************************
;=
이제 두 가지 옵션이 있습니다.
a) 매크로 파일 만 등록하십시오.
b) 일반 cmd/bat
파일을 사용하여 임의의 명령도 실행
하십시오 Autorun
. 원하는 이름을 변경하십시오 .
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
-수동
Autorun REG_SZ doskey /macrofile=%userprofile%\cmd\aliases.mac
Autorun_ REG_SZ %USERPROFILE%\cmd\env.cmd
%userprofile%/cmd/cmd-aliases.reg
-또는 reg 파일을 통해
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="doskey /macrofile=%userprofile%\\cmd\\aliases.mac"
"Autorun_"="%USERPROFILE%\\cmd\\env.cmd"
%userprofile%/cmd/env.cmd
위의 a)를 결정한 경우이 파일이 필요하지 않습니다
:: This file is registered via registry to auto load with each instance of cmd.
:: https://stackoverflow.com/a/59978163/985454
@echo off
doskey /macrofile=%userprofile%\cmd\aliases.mac
:: put other commands here
디렉토리 별 / 프로젝트별로 별칭 을 사용 하려면 다음을 시도하십시오.
먼저, aliases
현재 디렉토리에서 이름이 지정된 파일을 찾고 배치 파일 에서 별명을 초기화 하는 배치 파일을 작성 하십시오.make-aliases.cmd
@echo off
if not exist aliases goto:eof
echo [Loading aliases...]
for /f "tokens=1* delims=^=" %%i in (aliases) do (
echo %%i ^<^=^> %%j
doskey %%i=%%j
)
doskey aliases=doskey /macros
echo --------------------
echo aliases ^=^> list all
echo alt+F10 ^=^> clear all
echo [Done]
그런 aliases
다음 다음 형식을 사용하여 필요할 때마다 작성 하십시오.
alias1 = command1
alias2 = command2
...
예를 들면 다음과 같습니다.
b = nmake
c = nmake clean
r = nmake rebuild
다음의 위치를 추가 make-aliases.cmd
하여에 %PATH%
이 시스템 전체 또는 단지 알려진 장소에 보관하도록 변수입니다.
로 자동 시작되도록 cmd
합니다.
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
일부 개발 도구는 세션 당 여러 번 자동 실행 스크립트를 트리거하기 때문에 이것을 사용 하지 않는 것이 좋습니다.
당신이 사용하는 경우 ConEmu를 다른 길을 갈 및 시작 작업에서 스크립트를 시작할 수 있습니다 ( Settings
> Startup
> Tasks
), 예를 들어, 나는라는 항목을 만들어 {MSVC}
:
cmd.exe /k "vcvars64 && make-aliases"
,
Settings
> Integration>
with을 통해 Explorer 컨텍스트 메뉴에 등록 Command:
{MSVC} -cur_console:n
하여 폴더를 마우스 오른쪽 버튼으로 클릭하고 폴더에 VS aliases
로드 된 경우 자동으로로드 된 VS 개발자 프롬프트를 시작할 수 있습니다.
ConEmu가 없으면 cmd.exe
해당 명령 으로 바로 가기를 만들 거나 make-aliases
매번 수동으로 실행할 수 있습니다.
별칭을 잊어 버린 aliases
경우 매크로를 사용하고 문제 가 발생하면에 내장 된 명령 인 Alt+ 를 눌러 현재 세션을 재설정하십시오 .F10cmd