Path in Environment変数にnotepad++.exe
を追加しました。
今すぐコマンドプロンプトで、notepad++.exe filename.txt
がfilename.txt
を開きます。しかし、私はファイルを開くためにnp filename.txt
だけをしたいのです。
私はDOSKEY np=notepad++
を使ってみました。しかし、それはファイルを開かずに、すでに開かれているメモ帳++を最前線に持ってくるだけです。ファイルを開く方法は?
ありがとう。
Joshの答えに追加するには、
次の手順でエイリアスを 永続的 にすることができます。
DOSKEY
コマンドで.batファイルまたは.cmdファイルを作成します。HKEY_CURRENT_USER\Software\Microsoft\Command Processor
に移動しますAutoRun
という名前と.bat/.cmdファイルの full パスを持つ文字列値エントリを追加します。
たとえば、パスの最初のセグメントを%USERPROFILE%\alias.cmd
に置き換える%USERPROFILE%
は、複数のマシン間で同期するのに役立ちます。
このように、cmdが実行されるたびに、エイリアスがロードされます。
完全を期すために、これが役に立つと思われるエイリアスの種類を説明するためのテンプレートです。
@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
ファイルです。上記で提案されたように、それは今dropboxフォルダへの例として設定されます。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="%USERPROFILE%\\alias.cmd"
パラメータを渡す必要があります。これを試してください。
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 $*
...
単純なコマンドをいくつか使用するだけの場合は、次の手順に従います。
多すぎるかもしれませんが、@ Argllからの(さもなければ優秀な)答えとは異なり、これは毎回このロードの問題を解決します。
たとえば、 Dig2.bat というファイルがあり、その中に次のものがあります。
@echo off
echo.
Dig +noall +answer %1
あなたの np ファイルはただ次のようになるでしょう:
@echo off
echo.
notepad++.exe %1
さて、私は私のC:\ Aliasesディレクトリに約20のエイリアス(別々の.batファイル)を持っています - 私は必要に応じて新しいものを作成します。たぶん最善ではないかもしれませんが、それはうまく機能します。
_ update _ :ユーザー@Mavからの素晴らしい提案によると、 %1 よりも %* を使用するのがさらに良いので、複数のファイルをコマンドに渡すことができます。
@echo off
echo.
notepad++.exe %*
そうすれば、これを行うことができます。
np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt
そしてそれは3つのファイルすべてを開くでしょう。
あなたがあなたのPATH変数にnotepad ++。exeを追加したとすれば、それは非常に簡単です。次のコードを使用して、System32フォルダにnp.bat
という名前のファイルを作成します。
@echo off
call notepad++.exe %*
%*
は、np
コマンドに渡すすべての引数をnotepad++.exe
コマンドに渡します。
編集: ファイルをSystem32フォルダに保存するには管理者アクセスが必要です。ファイルを他の場所に作成し、手動でSystem32に移動しました。
あるいは、 cmder
を使用して、linuxのようにエイリアスを追加できます。
alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*
また、次のコマンドを使用して、パスに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
parameters も渡すには、最後に$*
を追加します。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 %*
実際、Amigaでプログラムしていたときから使ったことのある小さなテクニックを紹介しましょう。 - - - 新しいシステムでは、個人用でもプロ用でも、ステップ1はC:\ BINとC:\ BATCHの2つのフォルダを作成することです。次に、パスステートメントを変更して、C:\ BATCH; C:\ BIN; [パスの残り]の順序で両方を先頭に置きます。
それが済んで、あなたがC:\ BINフォルダにそれらを単にコピーするためにアクセスする必要がある邪魔にならないユーティリティがほとんどなければ、それらはあなたのパスにあります。これらの割り当てを一時的に無効にするには、実行可能ファイルと同じ名前のバッチファイルをC:\ BATCHフォルダに追加します。パスを指定すると、C:\ BIN内のファイルよりも前に検索されます。それはあなたが今までにする必要があるかもしれないものすべてをカバーするべきです。
もちろん、最近ではこれを行うための正規の正しい方法は、ファイルへのシンボリックジャンクションを作成することですが、同じ原則が適用されます。少し追加のボーナスもあります。システムにパス内の既存のものと競合するものを入れたい場合は、それをC:¥BINまたはC:¥Batchフォルダーに入れるだけで、 プリエンプション オリジナルのものに変更できます。一時的または恒久的に、あるいは実際のものを変更することなく、物事をより快適な名前に変更します。
roryhewitt answerに展開しています。
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を押すと、プログラムが開きます。
まず、np.cmdという名前のファイルを作成し、それをPATH検索リスト内のフォルダーに入れます。次に、np.cmdファイルを以下のように編集します。
@echo off
notepad++.exe
あなたのパスには既にnotepad++.exe
があります。そのフォルダにnp
という名前のショートカットを作成し、それをnotepad++.exe
にポイントします。
ディレクトリごと/プロジェクトごとにエイリアスを有効にするにしたい場合は、次を試してください:
まず、現在のディレクトリで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
を使用することは絶対にお勧めしません。
ConEmを使用すると、別の方法で起動タスクからスクリプトを開始できます(Settings
> Startup
> Tasks
)。たとえば、 {MSVC}
というエントリ:
cmd.exe /k "vcvars64 && make-aliases"
、
Settings
> Integration>
with Command:
{MSVC} -cur_console:n
を使用してエクスプローラーコンテキストメニューに登録し、フォルダーを右クリックしてその中にVS開発者プロンプトを起動できるようにしましたaliases
が自動的にロードされた場合、それらがそのフォルダーにある場合。
ConEmuがない場合は、対応するコマンドでcmd.exe
へのショートカットを作成するか、毎回手動でmake-aliases
を実行するだけです。
エイリアスを忘れた場合は、aliases
マクロを使用してください。何か問題が発生した場合は、を押して現在のセッションをリセットしてください。 Alt+F10、cmd
の組み込みコマンドです。