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 ++を最前線に持ってくるだけです。ファイルを開くにはどうすればよいですか?
ありがとう。
回答:
ジョシュの答えに追加するには、
次の手順でエイリアスを永続化できます。
DOSKEY
コマンドを使用して.batまたは.cmdファイルを作成します。HKEY_CURRENT_USER\Software\Microsoft\Command Processor
.bat / .cmdファイルの名前AutoRun
と完全パスを含む文字列値エントリを追加します。
たとえば%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の一部の使用のみに焦点が当てられていました。ここに一緒にいるこれらの2つの側面から誰かが恩恵を受けることを願っています!
これ.reg
は、のインストールに役立つファイルですalias.cmd
。これは、上記の例のように、ドロップボックスフォルダーの例として設定されています。
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を実行して各エイリアスを定義する代わりに、環境設定()を行い、マクロファイルオプションを使用して単一パスで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
あなたのnpファイルは次のようになります:
@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
間違いなく機能します。いい視点ね。私は代わりにdoskeyの代替を使用しました。
docker exec --user devilbox dvlbx_php_1 php %*
またはcmder
、linuxと同じようにエイリアスを追加することもできます。
alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*
PATH変数にnotepad ++。exeを追加した場合、それは非常に簡単です。np.bat
次のコードで呼び出されるSystem32フォルダーにファイルを作成します。
@echo off
call notepad++.exe %*
%*
あなたが与えるすべての引数に沿って通るnp
にコマンドをnotepad++.exe
コマンド。
編集: ファイルをSystem32フォルダーに保存するには、管理者アクセス権が必要です。別の場所にファイルを作成し、手動でSystem32に移動しました。
"notepad++.exe *somefiles*"
、一致するファイルが開きます。私があなたが提案したバッチファイルでそれを試したとき、すなわち"npp *somefiles*"
、それはNPPインスタンスを開きましたが、私が渡したファイルを開きませんでした。何かご意見は?
また、次のコマンドを使用して、パス(たとえば、C:\ Windows)にalias.cmdを作成できます。
@echo %2 %3 %4 %5 %6 > %windir%\%1.cmd
これを行うと、次のようなことができるようになります。
alias nameOfYourAlias commands to run
その後、comman行に入力できます
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"));
詳細はこちらコンソールエイリアス、Doskey、パラメータ
次のように入力するだけでエイリアスを作成できます。
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 %*
実際、私はもう1つ上手く行き、Amigaでプログラミングするために使用して以来、私が使用してきた小さなテクニックを紹介します。上のいずれかの使用新しいシステム、それが個人的または専門的なことが、ステップ1は、2つのフォルダを作成することです: C:\BIN
とC:\BATCH
。次に、パスステートメントを変更して、両方を最初に配置しますC:\BATCH;C:\BIN;[rest of path]
ます。
それを行った後、アクセスできる必要のあるユーティリティがほとんどなく、それらをC:\BIN
フォルダにコピーするだけでパスにある場合。これらの割り当てを一時的に上書きするには、実行可能ファイルと同じ名前のバッチファイルをC:\BATCH
フォルダーに追加すると、パスはC:\ BIN内のファイルの前に見つかります。それはあなたが今までする必要があるかもしれない何かをカバーするべきです。
もちろん、最近これを行うための標準的な正しい方法は、ファイルにシンボリックジャンクションを作成することですが、同じ原理が適用されます。少し余分に追加されたボーナスもあります。すでにパスにあるものと競合するものをシステムに配置したい場合は、C:\BIN
それをor C:\Batch
フォルダーに配置するだけで、元のものがプリエンプトされます-一時的または永続的に何かを上書きしたり、名前を自分の名前に変更したりできますより快適-オリジナルを実際に変更することなく。
roryhewittの回答を拡張しています。
DOSKEYよりも.cmdファイルを使用する利点は、これらの「エイリアス」がPowerShellやWSL(LinuxのWindowsサブシステム)などの他のシェルで使用できることです。
これらのコマンドをbashで使用する場合の唯一の問題は、「エイリアス」を呼び出す前にパス操作を行う必要がある場合があるため、もう少し設定が必要になることです。
たとえば、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」が常に機能するとは限らないため、間接レベルを1つ追加します。
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で開いて編集します(これにより、VSで何時間も編集しているときに、VIコマンドなどを処理する必要がなくなります)。
当然のことながら、すべての中で最も便利なソリューションが得られるまで、私は休むことはありません。広大なインターネット上の非常に多くの回答とトピックを組み合わせて、ここにあなたが持つことができるものがあります。
cmd
DOSKEY
エイリアスのキーワードは必要ありませんこれは主にアーガイルの回答とコメントに基づいていることに注意してください。概念を理解するために必ず読んでください。
1)エイリアスを含むマクロファイルを作成(またはbat / 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 ******************************************************************
;=
これで、2つのオプションがあります
。a
)マクロcmd/bat
ファイルのみを登録します。b)通常のファイルを使用して、任意のコマンドも実行します。
名前を変更します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>
を介して> を介してエクスプローラーのコンテキストメニューに登録しますCommand:
{MSVC} -cur_console:n
。これで、フォルダーを右クリックして、フォルダー内にVS開発者のプロンプトaliases
が表示されるようになりました。
ConEmuがない場合cmd.exe
は、対応するコマンドを使用してへのショートカットを作成するか、make-aliases
毎回手動で実行するだけです。
エイリアスを忘れてしまった場合は、aliases
マクロを使用してください。何か問題が発生した場合は、の組み込みコマンドであるAlt+ を押して、現在のセッションをリセットF10してくださいcmd
。