Soru Windows'daki diğer ad komut istemi


ekledim notepad++.exe Ortam değişkenlerindeki yoluma.

Şimdi komut isteminde notepad++.exe filename.txt açar filename.txt. Ama sadece yapmak istiyorum np filename.txt dosyayı açmak için

Kullanmayı denedim DOSKEY np=notepad++. Ama sadece dosyayı açmadan, önceden açılmış bir not defteri ++ ön plana getiriyor. Dosyayı nasıl açabilirim?

Teşekkürler.


223
2017-12-11 22:11


Menşei


Uygulanabilir adı istediğiniz herhangi bir şeye değiştirin. Bunu Dosya Gezgini'nden yapabilirsiniz! - Igor Ganapolsky
N'aber, BASH'e göre berbat değil, bu gibi şeyler yapmak çok kolay. Oy vey. - ncmathsadist


Cevaplar:


Yusuf'un cevabını eklemek için

takma ad (lar) yapabilirsin kalici aşağıdaki adımlarla,

  1. İle bir .bat veya .cmd dosyası oluşturun. DOSKEY emreder.
  2. Regedit çalıştırın ve gidin HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. Ad ile Dize Değeri girişi ekle AutoRun ve tam .bat / .cmd dosyanızın yolu.

    Örneğin, %USERPROFILE%\alias.cmdyolun ilk segmentini değiştirerek %USERPROFILE% Birden fazla makine arasında senkronizasyon için kullanışlıdır.

Bu şekilde, her defasında cmd çalıştırılır, takma adlar yüklenir.

Tamlık için, burada yararlı olabilecek takma adların örneklerini gösteren bir şablon vardır.

@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\

  • Unutmayın ki $* sözdizimi, bir dizin dizesinin yanı sıra argümanları alan bir yürütülebilir dosyadan sonra çalışır. Yani yukarıdaki örnekte, kullanıcı tanımlı komut dropbox research aynı dizine işaret eder research.
  • Rivenfall'un belirttiği gibi, env.cmd dosyasının uygun şekilde düzenlenmesini sağlayan bir komut eklemek iyi bir fikirdir. Görmek alias Yukarıdaki. Eğer bir cmd oturumunda iseniz, cmd cmd'yi yeniden başlatmak ve env.cmd dosyasını yeniden yüklemek için.

Soruyu cevaplamak için internette arama yaptığımda, tartışmalar ya bir şekilde ya da sadece DOSKEY'in bazı kullanımlarına ya da kalıcı olmaya odaklanmıştı. Umarım birileri burada birlikte olmaktan iki açıdan faydalanır.


İşte bir .reg Yüklemenize yardımcı olacak dosya env.cmd. Şimdi yukarıda önerildiği gibi bir dropbox klasörüne örnek olarak ayarlanmıştır.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="%USERPROFILE%\\Dropbox\\dev\\misc\\env.cmd"

275
2018-01-10 09:43



tam olarak ihtiyacım olan şey; Mükemmel çalışıyor; Env.cmd dosyasını düzenlemek için bir doskey eklemenizi tavsiye ederim - Rivenfall
Bu naif ve verimsiz. Autorun batch dosyası, dahil olmak üzere her cmd.exe dosyası için çalıştırılacaktır. system işlevi. Belirli bir değişken (örn. AUTORUN) tanımlanmış. Aksi takdirde ortamı kurunuz (set AUTORUN=1) ve her takma adı tanımlamak için doskey.exe'yi çalıştırmak yerine makrofile seçeneğini kullanarak tek geçişte doskey'i ayarlayın. - eryksun
Yanıtı başka bir göreve koyun? - Argyll
Bence @echo off komut yazdırmayı kapatabilir. - Argyll
@eryksun daha az naif bir örnek gönderebilir veya bağlantı kurabilir misiniz? Autorun tanımlanmışsa nasıl çıkacağını biliyorum, ancak CMD'yi çalıştırmadan önce nasıl ayarlayacağınız veya unseteceğiniz konusunda kafanız karıştı. - matt wilkie


Parametreleri geçmeniz gerekiyor, bunu deneyin:

doskey np=notepad++.exe $*

Düzenle (Romonov'un yorumuna cevap vermek) S: Komut istemini yapabileceğimin herhangi bir yolu var mı, bu yüzden her seferinde yeni bir komut istemi açsam bunu çalıştırmak zorunda değilim?

doskey Komut işlemcisi (örn., cmd.exe) tarafından yorumlanan bir metin komutudur, başka bir işlemde (özellikle henüz başlatılmamış olan) durumu değiştirmeyi bilemez.

Kullanan insanlar doskey başlangıçtaki komut kabuğu ortamlarını ayarlamak için genellikle /K Tüm ortak ayarları (set-set penceresinin başlığı, renkleri, vb) yapan bir toplu iş dosyasını çalıştırmak için (genellikle bir kısayol üzerinden) seçeneği.

cmd.exe /K env.cmd

env.cmd:

title "Foo Bar"
doskey np=notepad++.exe $*
...

206
2017-12-11 23:01



Bu, bu komutu çalıştırdığım komut istemi için çalışır. Ama pencereyi kapatıp yeni bir komut istemi açarsam. Np komutunu hatırlamıyor. Komut istemini yapabileceğimin herhangi bir yolu var mı, bu yüzden her seferinde yeni bir komut istemi açsam bunu çalıştırmak zorunda değilim? - Romonov
PATH değiştirmeden aynı davranış: doskey npp="C:\Program Files (x86)\Notepad++\notepad++.exe" $* - Matt Bierner
doskey.exe dosyasının cmd.exe ile ilgisi yok. Bir conhost.exe örneği tarafından barındırılan konsol penceresinde geçerli veya belirtilen bir yürütülebilir dosya için bir takma ad belirler. Konsol takma adları eşleştirilir ve istemci uygulaması (ör., Cmd.exe veya powershell.exe) satırı okumadan önce bir giriş satırının başında ikame edilir. Komut olarak jenerik olarak kullanılamazlar, ör. toplu işlerde değil veya içine aktarılmış. - eryksun


Sadece bazı basit komutlar için gidiyorsanız, şu adımları takip edebilirsiniz:

  1. C: \ Aliases adlı bir klasör oluşturun
  2. Yolunuza C: \ Aliases ekleyin (böylece içindeki tüm dosyalar her zaman bulunur)
  3. İstediğiniz diğer adlar için C: \ Aliases'te bir .bat dosyası oluşturun.

Belki aşırı hızda, ama Argyll'in (aksi halde mükemmel) cevabının aksine, bu her zaman bu yükleme problemini çözer.

Örneğin, içinde aşağıdaki ile dig2.bat adlı bir dosyam var:

@echo off
echo.
dig +noall +answer %1

Np dosyanız sadece aşağıdakilere sahip olacaktır:

@echo off
echo.
notepad++.exe %1

FWIW, C: \ Aliases dizinimde 20 takma adıma (ayrı .bat dosyaları) sahibim - sadece gerekli olanları yeni oluşturuyorum. Belki en düzgün değil, ama iyi çalışıyor.


43
2017-09-12 21:57



Bu, tüm ihtiyaçlarımı kapsayan en basit çözümdü. - arthropod
En basit ve potansiyel olarak en esnek cevap. - Sinjai
Komut dizininin notepad ++ 'ı kapatmak için beklemesini istemiyorsanız, o zaman kullanabilirsiniz. @echo off START notepad++.exe %* - Sornakumar
Ben şahsen bu yöntemi uzun süre kullanıyorum. Birisi yolda gitmek istemiyorsa, bu çok kolay bir yöntemdir doskey. - bantya
Bu yöntemin bir avantajı (takma ad olarak cmd dosyaları), WSL (Windows için Linux alt sistemi) kullanırsanız, bu cm'lerin de bash olarak kullanılabilir olmasıdır. Sık sık olsa da (takma adınıza bağlı olarak), cmd dosyasını çağırmadan önce wslpath.sh veya benzeri bir yol manipülasyonu yapmanız gerekir. - Alex Perry


PATH değişkeninize notepad ++. Exe eklediğiniz için ekstra basit. Adlı klasörünüzde bir dosya oluşturun np.bat aşağıdaki kod ile:

@echo off
call notepad++.exe %*

%* verdiğiniz tüm argümanlar boyunca geçer np komuta etmek notepad++.exe Komut.

DÜZENLE: Dosyaları benim için biraz kazandığım olan System32 klasörüne kaydetmek için yönetici erişimine ihtiyacınız olacak. Dosyayı başka bir yerde yarattım ve el ile System32'ye taşıdım.


26
2018-04-13 17:58



Zaten küçük .bat yardımcı programlarının bir klasörüne sahibim, bu yüzden kayıt defteri veya bir .cmd dosyasıyla uğraşmaktan daha iyisini istiyorum - Rich
Ben sadece denedim ve doğrudan Notepad ++ çağırmak için çalışmıyor. Açmakta olduğunuz dosya adına joker karakterler kullanırsanız ve doğrudan NPP'yi ararsanız, örn. yapabilirsin "notepad++.exe *somefiles*" ve eşleşen dosyalar açılacaktır. Bunu önerilen toplu iş dosyasında denediğimde, yani. "npp *somefiles*"bir NPP örneğini açmıştı, ancak geçtiğim dosyaları açmadı. Düşüncesi olan var mı? - SSilk


Alternatif olarak kullanabilirsiniz cmder linux gibi takma adlar eklemenizi sağlar:

alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*

23
2017-11-24 10:24



Bu soruya cevap vermese de. Linux arkaplanından gelen kişilerin, acil durumlarına uygun Windows CMD'lere bir alternatif olduğunu anlamaları önemlidir. - JosephMCasey


Ayrıca, yolunuzda bir alias.cmd oluşturabilir (örneğin C: \ Windows).

@echo %2 %3 %4 %5 %6 > %windir%\%1.cmd

Bunu yaptıktan sonra, böyle bir şey yapabilirsiniz:

alias nameOfYourAlias commands to run 

Ve bundan sonra comman satırına yazabilirsiniz

nameOfYourAlias 

bu yürütecek

commands to run 

AMA benim için en iyi yol sadece bir program yolunu eklemektir.

setx PATH "%PATH%;%ProgramFiles%\Sublime Text 3" /M 

Ve şimdi ben gibi yüce çalışıyorum

subl index.html

13
2018-03-04 17:56





Windows 10'daki Konsol Aliasları

Konsol takma adını tanımlamak için Doskey.exe makro oluşturmak veya AddConsoleAlias işlevi.

doskey

doskey test=cd \a_very_long_path\test

Geçmek için parametreler eklemek $* sonunda: doskey short=longname $*

AddConsoleAlias

AddConsoleAlias( TEXT("test"), 
                 TEXT("cd \\<a_very_long_path>\\test"), 
                 TEXT("cmd.exe"));

Daha fazla bilgi burada Konsol Takma Adları, Doskey, Parametreler


5
2018-05-18 10:08





Aslında, sana bir tane daha gideceğim ve Amiga'da program yaptığımdan beri kullandığım küçük bir tekniğe gireyim. üzerinde herhangi Kullandığınız yeni sistem, ister kişisel ister profesyonel olsun, birinci adım iki klasör oluşturmaktır: C: \ BIN ve C: \ BATCH. Daha sonra her iki durumda da C: \ BATCH; C: \ BIN; [yolun geri kalanı] sırasına koymak için yol ifadenizi değiştirin.

Bunu yaptıktan sonra, erişiminizin olması gereken küçük bir programınız varsa, bunları C: \ BIN klasörüne kopyalamanız yeterlidir. Bu atamaları geçici olarak geçersiz kılmak için, C: \ BATCH klasörüne yürütülebilir dosyayla aynı ada sahip bir toplu iş dosyası ekleyebilir ve yol dosyayı C: \ BIN'de bulacaktır. Yapman gereken herşeyi kapsamalı.

Tabii ki, bu günlerde bunu yapmanın kanonik doğru yolu, dosyaya sembolik bir bağlantı oluşturmak olacaktır, ancak aynı prensip geçerlidir. Ayrıca biraz ekstra bir bonus var. Eğer sistemde bir şeyleri zaten yolunda olan bir şeyle çakışmak istiyorsanız, C: \ BIN veya C: \ Batch klasörüne koymak basitçe önceden satın almak orijinal - geçici veya kalıcı olarak bir şeyi geçersiz kılmanıza ya da bir şeyleri daha rahat edeceğiniz isimlere dönüştürmenize izin verir - orijinali gerçekten değiştirmeden.


2
2017-11-08 19:16



Bu roryhewitt ile aynı cevap. - Jean-François Fabre
Aslında hayır değil. 'Bir tane daha iyi' dedim. Zaten mevcut olan bir geçersiz kılmayı geçersiz kılmak veya geçersiz kılmak için yerleşik seçenek. Toplu iş dosyalarından yürütülebilir dosyaların basit ayrımı. Ve Rory'nin çözümü belirtmiyor nerede yolunda klasör gitmeli. Çoğu bu yüzden onu yolun sonuna yerleştirecektir. Başlangıç ​​yerine sonunda olmak, onun çözümü ilk etapta geçersiz kılmalara izin vermeyecektir. Rory'nin çözümü, aslında 25 yıl önce kendime geldiğim çözümle aynı. O zamandan beri modeli rafine ettim. - David
Her neyse. Amiga kullanan kişiler, kötü olamaz. - Jean-François Fabre
Yeterince adil :) Benim durumumda, Aliases klasörü yolun başında IS, ama her durumda, ben şahsen varsayılanı geçersiz kılmak istemiyorum - benim takma adların her zaman farklı isimleri var. Bu yüzden 'dig2' ve 'digx' harflerini 'kazmak' olarak kullanıyorum, ancak hala 'kazmak' (klasörünü belirtmek gerekmeden) kullanılabilir. Ayrıca Amiga için +1 :) - roryhewitt


Genişleyen roryhewitt Cevap.

DOSKEY üzerinden .cmd dosyalarını kullanmanın bir avantajı, bu "takma adların" PowerShell veya WSL (Linux için Windows alt sistemi) gibi diğer kabuklarda kullanılabilir olmasıdır.

Bu komutları bash kullanarak kullanmanın tek yolu, "takma adınızı" aramadan önce bazı yönlendirme işlemleri yapmanız gerekebileceğinden biraz daha fazla kurulum gerektirmesidir.

Örneğin Visual Studio'da bir dosyayı düzenlemek için "takma ad" olan vs.cmd var

@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

Hangi VS (- bu durumda VS2012 - ama tadı ayarlamak için) hangi hiçbir dosya ile "normal" proje kullanarak bir yangın başlatır, ancak bir dosya verilen bir VS açılış başlatmak yerine "bu proje içinde" açılış çalışan bir dosyaya bağlanmaya çalışacaktır VS yeni örneği

Bunu bash'dan kullanabilmek için, "vs Myfile" her zaman işe yaramayacağından ekstra bir dolaylılık seviyesi ekleyin

alias vs='/usr/bin/run_visual_studio.sh'

Vs.cmd'yi çağırmadan önce yolları ayarlar

#!/bin/bash
cmd.exe /C 'c:\Windows\System32\vs.cmd' "`wslpath.sh -w -r $1`"

Böylece bu şekilde yapabilirim

vs SomeFile.txt

Komut isteminde, Power Shell veya bash'ta ve çalışmakta olan Visual Studio'mda düzenleme yapmak için açılır (bu sadece zayıf beynimi VI komutlarıyla uğraşmak zorunda kalmaz veya saatlerce VS'de düzenleme yaptığımda böyle kaydeder).


1
2018-04-14 20:02





Zaten sahip olduğunuzdan notepad++.exe senin yolunda. Bu klasörde bir kısayol oluştur np ve işaret et notepad++.exe.


0
2018-01-24 12:21