学校に戻ると、以前は.loginファイルが
alias ll = ls -l
alias dir = ls -Fhl
alias web = cd ~/public/public_www/development
私のXPボックスはここで動作しています)でそのようなことをしたいのですが、オンラインで見つけたほとんどのリソースはかなり複雑で重たいようです。これは、レジストリをいじったり、大きなバッチファイルを実行したりする必要がないのですか。
これを尋ねる最初の理由は、1つの特定のフォルダー内の1つのコマンドに対してのみコマンドラインが必要であり、コマンドラインを起動したときにそのフォルダーにすばやくアクセスできるようにしたかったためです。しかし、この質問に対する受け入れられた回答は非常に良いため、別の質問として元の問題について質問することにしました: Windowsコマンドプロンプトのデフォルトの開始フォルダーに変更 。
あまり知られていないようですが、doskey
組み込みマクロツールを使用できます。唯一の問題は、保存されないことです。ただし、これを回避するには多くの方法があります。
使用法:
doskey ls=dir
ls
はdir
と同じようにディレクトリリストを実行します。
コマンドで引数を使用する場合は、次の構文を使用します。
doskey d=dir $*
それらを保存するための回避策として:
doskey ls = dir doskey .. = cd ..
パスのいずれかのディレクトリに配置します。 a.cmdのような短い名前を付けます。そのため、cmdを開いたときに、aエイリアスをロードします。
入力した場合 a そして押す Enter 作業が多すぎるようです。これを AutoHotkey スクリプトに入れてください:
WinWaitActive, C:\WINDOWS\system32\cmd.exe
Send {a}{Enter}
エイリアスを自動的に読み込む:
Cmdへのすべてのショートカットを%SystemRoot%\system32\cmd.exe /K C:\path\to\aliases.cmd
を指すように変更できます。C:\path\to\aliases.cmd
はエイリアスファイルの場所に置き換えます。通常、実行ボックスから実行する場合は、次のことができます。
それは簡単です:
エイリアスを使用してファイルを作成します。 c:\ bin\aliases:
ls=dir /ONE $*
cd=cd /d $*
python=python -ic ""
ps=tasklist $*
kill=taskkill /IM $*
doskeyを使用してエイリアスを読み込むなど、cmd.exeの起動時に実行したいすべてのものを含むファイルを作成します。 c:\ bin\cmd_autoruns.cmd:
@echo off
cls
color 0A
doskey /macrofile=c:\bin\aliases
コマンドプロセッサAutorun
キーをcmd_autoruns.cmdに設定するバッチファイル(例set_cmd_autorun.cmd)を作成して実行します。
reg add "hkcu\software\Microsoft\command processor" /v Autorun /t reg_sz /d c:\bin\cmd_autoruns.cmd
set_cmd_autorun.cmdの代わりに、代わりに以下のような.regファイルを作成して、ダブルクリックでマージすることもできます。
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000009
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000009
"Autorun"="c:\\bin\\cmd_autoruns.cmd"
私の答えはvriolkのものに似ています
マクロを含む.batファイルを作成しました(例:c:\ winscripts\autoexec.bat):
@ doskey whereis = c:\ winscripts\whereis.cmd $ * @ doskey ls = dir/b $ * @ doskey l = dir/od/p/q/tw $ *
そして、cmdプロンプトから「cmd /?」を実行しましたcmd autorun用に編集するレジストリキーを見つけるには:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun および/または HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
regeditを使用して、マクロバッチファイルのパスをAutoRun値に追加します(AutoRunキーが存在しない場合は追加します)。
c:\ winscripts\autoexec.bat
start-> Runプロンプトから「cmd」を実行すると、このautoexec.batも実行され、doskeyマクロが作成されます。
ちなみに、whereis.cmdには次のものが含まれています。
@for %% e in(%PATHEXT%)do @for %% i in(%1 %% e)do @if NOT "%%〜$ PATH:i" == "" echo %%〜$ PATH:i
これは、PATH変数で指定した用語を検索します。
c:> whereis javaw c:\ jdk\bin\javaw.exe
準備ができたショートカットを作成するための非常に迅速で汚い方法です。多くの手間は必要ありません。PATH環境変数の一部であるディレクトリの1つに、エイリアスにちなんだ名前のバッチファイルを作成します。たとえば、エイリアスを介してNotepad ++を起動したかったので、C:\ WINDOWSに以下を含むnpp.batを作成しました。
"c:\Program Files\Notepad++\notepad++.exe" %1 %2 %3 %4 %5
nppコマンドは、自動実行ファイルやレジストリへのエクスカーションなしで、任意のコマンドシェルから使用できるようになりました。
.cmdファイルを作成して、%PATH%(C:\ Windowsなど)のどこかに配置できます。例としてWebエイリアスを使用するには:
@C:
@cd \inetpub\wwwroot
次のようなことをします:
M:\> web
C:\inetpub\wwwroot>
フラットな.aliasesスタイルファイルを作成する方法を知りません。
私がやった方法は簡単なpythonスクリプトでした:
import sys
import string
import os
import glob
def listAll():
for infile in glob.glob("c:\\aliases\\*.bat"):
fileName = infile
fileName = fileName[len("c:\\aliases\\"):len(fileName)-4]
fileContents = open("c:\\aliases\\" + fileName + ".bat", "r")
fileContents.readline()
fileContentString=fileContents.readline()
fileName += " is aliased to "
fileName += fileContentString[0:len(fileContentString)-3]
print fileName
def listSome(which):
for infile in glob.glob("c:\\aliases\\*.bat"):
fileName = infile
fileName = fileName[len("c:\\aliases\\"):len(fileName)-4]
fileContents = open("c:\\aliases\\" + fileName + ".bat", "r")
fileContents.readline()
fileContentString=fileContents.readline()
if fileName.find(which)==0:
fileName += " is aliased to "
fileName += fileContentString[0:len(fileContentString)-3]
print fileName
if len(sys.argv)>1:
if sys.argv[1]!="-p":
file = open("c:\\aliases\\"+sys.argv[1]+".bat", "w")
file.write("@ECHO OFF\n")
counter=0
totalInput=""
counter=0
for arg in sys.argv:
if counter > 1:
totalInput+= arg + " "
counter+=1
if totalInput.find(".exe")!=-1:
file.write("\"")
counter=0
for arg in sys.argv:
if counter > 1:
file.write(arg)
if sys.argv[1]==sys.argv[2]:
if counter==2:
file.write(".exe")
temparg=str(arg)
if temparg.find(".exe")!=-1:
file.write("\"")
file.write(" ")
counter+=1
file.write("%*")
print "Aliased " + sys.argv[1] + " to " + totalInput
else:
if len(sys.argv)>2:
listSome(sys.argv[2])
else:
listAll()
else:
listAll()
貧弱なスクリプトへの謝罪ですが、使い方はかなりいいですね。それをパスのどこかに配置し、.pyをPATHEXTに追加し、c:\ aliasesもPATHに追加して(または変更して、適切であれば)、次を使用します。
alias <command> <action>
エイリアスに(はい、いいえ=、そこに.splitを追加するのは難しくありません)、そして:
alias -p <command or part of>
何かが表示されます。
ハックですが、馬鹿げて役に立ちます。同等のunaliasスクリプトがありますが、きっとそれでうまくいくと思います。
編集:これは明らかにv26で書かれたpythonを必要としますが、おそらく最近の何でも動作します。以前と同じように、品質にごめんなさい:)
edit2:実際には、このようなものですが、doskeyのものに追加する方が良いでしょう。自動実行レジストリキーを使用して、スタートアップコマンドをcmdに追加することもできます。