Bileşik komut için Doskey


32

Doskey, tek komutlar için takma adlar ayarlamak için modern Windows sürümlerinde çalışır doskey foo=bar.

doskey foo=bar & bazBu gibi yorumlandığından beri gibi bileşik komutlar için kullanmaya çalışırken küçük bir sorun var (doskey foo=bar) & baz. Açık bir düzeltme açık parantez eklemek olacaktır, doskey foo=(bar & baz)ancak bazı nedenlerden dolayı bu işe doskey foo="bar & baz"yaramıyor ya da çalışmıyor.

Bunu yapmanın bir yolu var mı?

Yanıtlar:



19

Kullanım $Tayrı komutlara:

doskey foo = bar $ T baz
doskey cpdel = $ 1 $ 2 $ kopya 1 $

from doskey /?:

$ T Komut ayırıcı. Bir makroda çoklu komutlara izin verir.

7

(Bir şekilde) Dennis Williamson'un cevabını eklemek için, boru komutlarından kaçmak için boru karakterinden de kaçabilirsiniz! Örneğin, malzemeleri panoya kopyalayan bir komut istemiştim. Bu arada nedeniyle COPYbunu yorumlayacak, yapmanız gereken bir şapşal görünümlü komutu aslında bunu sonrasında bir yeni satır olmadan belirtmek metin kopyalamak için.

Panoya kopyalanacak bir makro tanımlamak için borudan kaçabilirsiniz ^:

doskey cc=echo^|set /p=$*^|clip

Komutun yürütülmesi üzerine cc hey, artık heypanoya kopyalamış olacaksınız !


Newline karakterinin kopyasını nasıl önleyeceğimi de merak ediyordum! Teşekkürler.
Alex Vallejo

7

önceki cevaplara eklemek için şunu da yapabilirsiniz:

mybatfile.cmd

    doskey /macrofile=aliases.txt

aliases.txt

    foo = çubuk ve baz
    cpdel = $ 1 $ 2 $ kopya 1 $
    cc = echo | set / p = $ * | klip

Makro dosyada, pipe / ampersand'dan kaçmaya gerek olmadığını ve tek bir çağrıda birden çok takma ad tanımlayabileceğinizi unutmayın.

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.