Komut İsteminde komut takma adları?


18

Windows 'Komut İstemi'nde olduğu gibi komut takma adlarını nasıl yapabilirim bash?

Ben öğrendim doskeyde bir forum iplik ben böyle bir şey yapmak, böylece:

doskey ls=dir /b

... ve şimdi komut lsbiraz daha lsUnix'e benzer. ( lsÇok sık yazıyorum cmd, komik bile değil.)

Ama bunu seanslar arasında nasıl durdurabilirim? Bir dahaki sefer açtığımda kayboluyor cmd.exe. (Gibi bir şey var mı .bash_profile?)


Offtopik yapmak için üzgünüm, ancak cygwin'in bir kopyasını kurmaktan ve tüm unix araçlarının avuç içi dayanağınızda olmasından faydalanabilirsiniz
bubu

Evet, isterdim, ama bunun bir seçenek olduğunu düşünmüyorum (ve değerinden daha fazla iş olabilir). Birincil makinelerim Linux ve OS X - Şu anda Windows'taki bazı programları test ediyorum.
Benjamin Oakes

1
yapacak fazla bir şey yok. Yüklemeniz gereken tek şey cygwin.com/setup.exe . sadece indirin ve ileri tıklayın. hepsi orada ve çok basit. yapılandırılacak çok şey yok.
bubu

Hrm ... iyi, deneyeceğim. Makinede zaten çok fazla sorun var ...;)
Benjamin Oakes

4
MS-DOS sürüm 6.22 veya daha az değilse, DOS çalıştırmıyorsunuz. senin söz tarafından cmd.exe i temel WinNT / 2K / XP / vb komut kabuğu bahsediyoruz varsayalım.
quack quixote

Yanıtlar:


0

cygwin bu durumda kullanılabilir, ancak bu tam olarak konuyla ilgili bir cevap değildir.

http://www.cygwin.com/ CygWin
İndir: http://cygwin.com/setup.exe

Windows'a kolayca erişmek için yolunuza c: \ cygwin \ bin koyabilirsiniz.

eşdeğer olmayan Windows yazılımı ile çakışan birkaç komut olduğunu unutmayın örn. find (1) vs find.exe - find (1) tüm dosyaları ve alt dizinleri listelerken find.exe grep gibi işlevler listeler.

başka bir seçenek de

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Komut İşlemcisi \ AutoRun veya HKEY_CURRENT_USER \ Software \ Microsoft \ Komut İşlemcisi \ AutoRun

Çıkış yapmak

 cmd.exe /? 
daha fazla ayrıntı için


Hrm ... Windows yolumun hiçbirini kullanmıyor gibi görünüyor ... Sanırım bununla daha sonra oynamak zorunda kalacağım. (Cygwin'i daha önce hiç ciddiye kullanmamıştım.) Şimdiye kadar yardımlarınız için teşekkürler.
Benjamin Oakes

cygwin yolunun windows yolu ortam değişkenine eklenmesi cmd.exe içindeki cygwin ortamındaki araçları kullanmanıza olanak tanır; sadece dikkat var notları vardır örneğin find.exe cygwin tarafından sağlanan find komutu ile çakışıyor.
bubu

Neden yoksun? Hiçbir fikrim yok.
bubu

34

@DOSKEYKomut ve HKCU\Software\Microsoft\Command ProcessorOtomatik Çalıştır seçeneğini kullanarak Windows komut isteminde kalıcı takma adlar kurmak oldukça kolaydır .

Hızlı adım adım kılavuz:

  1. Yeni bir toplu iş dosyası oluşturun, arayın Alias.bat. Aşağıdaki metni kopyalayın / yapıştırın. İPUCU:C:\Bin Tüm komut satırı araçlarınız için bir klasör oluşturmanızı öneririm .
  2. Kaydı açın HKEY_CURRENT_USER\Software\Microsoft\Command Processor.
  3. Bir ekleme Dize değeri adında Autorunve mutlak yolu değerini Alias.batdosyaya.
  4. Bitti.

Bu toplu iş dosyası, her komut istemi açışınızda yürütülür.

Alias.bat içeriği

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 $* )

Şimdi mevcut takma ad / makro listesini görüntülemek için alias(ie DOSKEY /MACROS) yazabilirsiniz .

Geçerli oturuma yeni takma adlar eklemek için yalnızca kullanabilirsiniz alias name=command.


1
Kurulumdan sonra basit, güncellenmesi kolay, bunu çok beğendim!
Urda

Ne yazık ki o zamandan beri bu takma adı kullanmayı bıraktım, çünkü @DOSKEYkomut Autodesk Maya 2010'dan çıkarken bir kilitlenmeye neden oluyor.
Dennis

9

Ayrıca bir çeşit konu dışı -

cmd.exeKomut satırı yerine PowerShell kullanın . İyi haber şu ki, PowerShell komut satırında .bash_profileolduğu gibi çalışıyor cmd.exe. Dahili bir takma ad oluşturma özelliği ile birlikte gelir. Kötü haber şu ki, basit cmd.exekomutlardan daha karmaşık bir şey yapmak istiyorsanız, bir öğrenme eğrisi var .

Bu arada, kutunun hemen dışında lsbir takma ad olarak tanımlanır dir.


Neden kimse daha önce güç kabuğunu kullanmamı söylemedi? Birçok şey için çok daha iyi.
Andres

3

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRunBir cmd istemini başlattığınızda bir komut çalıştırmanıza izin veren bir kayıt defteri girdisi vardır . Bu bir toplu iş dosyası içerir.


Diğerlerinin sizinle aynı kullanıcı kimliğine sahip olmayacağı için HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRun öğesini işaret etmek isteyebilirsiniz.
bubu

@bubu: Oh, çok doğru, üzgünüm. Bunu kayıt defterinde arayarak bulmadım.
Phoshi

1

Bu komutların dos sürümlerini doğrudan bu bağlantıdan yüklemenizi öneririm .

Basit, hafif, verimli vs. Bir süredir kullanıyorum, beni mutlu ediyor! Cygwin ihtiyacım olan şey için biraz büyük.


0

Bunları autoexec.bat dosyasına koymayı deneyin. Emin değilim, denemek zorundasın. Autoexec.bat öğesinin kendisini C: \


Çalışmıyor gibi görünüyor ...
Benjamin Oakes


0

Bir an büyücü olacağım ve bu ipliği ölümden kaldıracağım. Cevabı benim için tatmin edici değildi. Daha iyi bir yol olduğunu biliyordum. Yapma ve yarasa dosyaları dahil dabbled ve iyi çalışmadı spagetti topu iyi almak için nasıl anlamaya çalışıyorum. Neyse Google'a geri döndüm ..

Ben de buldum Nasıl yeni DOS diğer adı / komutları eklemek ve bir yönetici için klavye kısayolu oluşturmak DOS DOS Harika çalışıyor, 98-7 (biraz komik numaralandırma sistemi ama hey windows) üzerinde çalışması gerekir. Umarım bu konudaki kişilere yardımcı olur ve Google bu şekilde gönderir.

Bu şekilde Takma ad kadar basit değildir ve ikisi de doskey değildir. Bir kez kurulum bu aynı çabayla ilgilidir.

Ayrıca Dennis Williamson'un cevabı ile birleştirilen bölümlerin çok daha iyi olduğunu da ekleyeceğim. Aynı uygulamanın birden çok sürümü için kabuk ortamları olabilir, örneğin eski komut dosyalarınız için php 4 ve test sunucunuz için php 5.

Her neyse, bu benim için çok daha iyi çalıştı.


0

PATH ortamını ayarlayarak çözme

ls.c dosyası oluştur

aşağıdaki kodu girin

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

ls.c'ye kopyalayın ve dosyayı derleyin:

$gcc ls.c -o ls

yürütülebilir bir dosya ls.exe oluşturulur

bir dizin oluşturun, cmdline_tools olarak adlandırın

$mkdir cmdline_tools

ls.exe dosyasını dizine kopyala

PATH ortamında dizinin yolunu ayarlama [dizinin konumunu kopyalayın ve PATH'a yapıştırın]

C:/cmdline_tools

Cmd.exe dosyanızı açın ve yazın

$ ls

Dir komutu olarak çalışır. Diğer komutlar için de aynı şekilde yapabilirsiniz. Değilse bize bildirin.


0

Doskey ve bashrc (cygwin> bash'dan) takma adları / işlevleri olan CMD, eğik çizgi cmd olarak da çalışır (win7 sonrası)

  1. Cmdrc.cmd kullanmak için cmd'ye kısayol oluşturun

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

2 C:> kedi% 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.