विंडोज़ कमांड प्रॉम्प्ट में ls कैसे बनाएं?


114

मैं विंडोज़ कमांड प्रॉम्प्ट में ls का उपयोग करना चाहता हूं और इसे dir कमांड चलाता हूं।

मैं उसे कैसे कर सकता हूँ?


4
कुछ उत्तर काफी रोचक हैं, लेकिन 'दिर' कमांड में क्या गलत है?
मैट डोनान

3
@ मट्टडोनन मैं सिर्फ एलएस का इस्तेमाल करता हूं और जब मैं इसे खिड़कियों पर बनाता हूं तो मैं एक मजाकिया चेहरा बना लेता हूं। अब और नहीं ^ ^
एएफ।

1
@DavidHeffernan क्योंकि यह खिड़कियों में मौजूद नहीं है?
एएफ।

1
ज़रूर करता है। मेरे द्वारा इसे हर दिन उपयोग किया जाता है।
डेविड हेफर्नन

1
@ए एफ। मैं विंडोज 7 का उपयोग कर रहा हूं, लेकिन मैं किसी भी विंडोज संस्करण पर एलएस चलाता हूं। मैं यह नहीं कह रहा हूँ कि विंडोज के साथ आता है ls, सिर्फ यह कि यह खुला स्रोत है, और अच्छे विंडोज पोर्ट होने के कारण, यह विंडोज पर इसे चलाने के लिए तुच्छ है। GnuWin32 को देखें।
डेविड हेफर्नन

जवाबों:


117

आप ऐसा कर सकते हैं:

  • नामक एक बैच फ़ाइल बनाएँ ls.batऔर इसमें dirकेवल कमांड है
  • उस निर्देशिका को जोड़ें जहां ls.batफ़ाइल आपके PATHपर्यावरण चर में मौजूद है

फिर आप lsकमांड प्रॉम्प्ट से निष्पादित कर सकते हैं ।


8
System32 फ़ोल्डर में ls.bat को क्यों नहीं डाला गया ताकि आपको PATH
डेविड 13 वोंग

2
@ दाविद, वोंग, यह बहुत संभव है कि उपयोगकर्ता के पास उस फ़ोल्डर तक पहुंच न हो।
hmjd

2
यदि आप आर्ग के साथ उपयोग यह अभी भी काम करता है: ls dir? मुझे लगता है कि आपको ls.batargs को संभालने के लिए संशोधित करने की आवश्यकता होगी ... या आप उपनामों की कोशिश कर सकते हैं: superuser.com/questions/49170/create-an-alias-in-windows-xp
nicorellius

मुझे पसंद है: @echo off \ ndir / w% 1% ls फॉर्मेट के करीब आने के लिए
mrcrowl

उत्कृष्ट उत्तर, इस पर टिप्पणी करना संभव नहीं होगा ;-)
बोमोमी

248

आप एक साधारण आदेश के साथ इस प्रश्न को हल कर सकते हैं:

echo @dir %* > %systemroot%\system32\ls.bat

सुनिश्चित करें कि आप cmd.exeपहले व्यवस्थापक के रूप में चलाते हैं यदि आप विस्टा और ऊपर हैं


14
काश मैं इसे एक से अधिक बार रेट कर पाता। अद्भुत ढंग से काम किया।
मि। हप्प्यस्थमा

4
यह बेहतर है क्योंकि आप अभी भी dir विकल्पों का उपयोग कर सकते हैं।
अंजोन

17
मैं dir %*कमांड लाइन के किसी भी तर्क के लिए lbbat के माध्यम से पास होने के लिए अनुमति देने के बजाय उपयोग करने की सलाह दूंगा। अन्यथा, का उपयोग करते हुए dir %1, सबसे अधिक आप केवल एक तर्क का उपयोग कर सकते हैं जब एलएस स्क्रिप्ट का उपयोग कर।
एडलीन सिमोनियन

2
@ वार्तन यह शर्म की बात है कि आपकी टिप्पणी "शो और अधिक" सीमा से नीचे है। उम्मीद है कि @secghost इसे देखेगा और किसी दिन उनके जवाब को संशोधित करेगा। मैं जोड़ना चाहूंगा कि करने @dir %*से अतिरिक्त लाइन भी हट जाएगी इसलिए यह और भी समान हैdir
कैप्टन मैन

1
@CaptainMan ओह, हाँ! पूरी तरह से भूल गया @; उत्पादन की गड़बड़ी से बचने के लिए उपयोग करने के लिए सिंटैक्स का थोड़ा सा। हालाँकि, अगर विंडोज POSIX-compliant होता तो यह इतना आसान होता। कम से कम हम सपने देख सकते हैं।
एडलीन सिमोनियन

36

इसका पुराना सवाल है लेकिन रिकॉर्ड के लिए:

http://gnuwin32.sourceforge.net/packages/coreutils.htm

आपको देता है ls और एक पूरी बहुत अधिक!


7
+1 ls *और dir *एक ही काम न करें, इसलिए अलियासिंग दिर थोड़ा पैंट है।
पीट किर्कम

2
यह सबसे अच्छा जवाब है। मतदान पर ध्यान न दें और ऐसा करें।
हेजहोग

जोड़ने के लिए मत भूलना C:\Program Files (x86)\GnuWin32\binअपने पथ पर
omikes

18

सबसे आसान तरीका मैंने पाया है:

  1. विंडोज के लिए Git इंस्टॉल करें
  2. binअपने पथ चर में Git की निर्देशिका जोड़ें । में स्थित था C:\Program Files\Git\usr\bin
  3. एक कमांड प्रॉम्प्ट शुरू करें और lsइसकी सभी महिमा में आनंद लें ।

3
महान सुझाव जो lsसभी की पूर्ण कार्यक्षमता तक पहुँच प्रदान करता है और यह सभी वैकल्पिक तर्क हैं। बस थोड़ा सा अद्यतन, मैंने विंडोज़ के लिए git का नवीनतम संस्करण स्थापित किया है और ls.exe अब C: \ Program Files \ Git \ usr \ bin में पाया जा सकता है
फिल

हां, या बस git फ़ोल्डर में bash.exe प्रारंभ करें (cmd के बजाय) और ~ पूर्ण शेल (ls के साथ) का आनंद लें।
जोहान

git bash घिनौना है, मुझे पथ विकल्प पसंद है
omikes

16

मेरे पास एक समाधान है लेकिन यह गंदा है:

एक फाइल बनाएं जिसका नाम है lbbat जिसमें केवल "dir" है।

इसे C: \ windows \ system32 (या PATH env var में कोई निर्देशिका) में रखें।

वह (काम) काम करना चाहिए!

संपादित करें: कुछ और सुसंगत: /superuser/49170/create-an-alias-in-windows-xp


9

यदि आपके पास आपके सिस्टम पर Node.js स्थापित है, तो आप इसे कैश से इंस्टॉल कर सकते हैं , एक लाइब्रेरी जो मैंने विंडोज पर लिनक्स कमांड के लिए लिखी है:

npm install cash-ls -g

खिड़कियों पर लिनक्स उपयोगकर्ता के लिए सबसे अच्छा समाधान npm install cash-global -g,। जोड़ने के लिए बहुत अच्छा होगा ls -lके रूप में llभी (एलएल)।
user2925656

इसका एक साथी साथी
हेबलेव

6

विस्टा / 7 के लिए विंडोज कमांड प्रॉम्प्ट NTFS प्रतीकात्मक लिंक की अनुमति देगा, cmd.exe को व्यवस्थापक के रूप में चलाएँ:

mklink ls %System%\dir.exe

फिर आपके द्वारा बनाए गए लिंक के स्थान को शामिल करने के लिए अपना पैठ पर्यावरण चर सेट करें।

यदि आप s ls ’कमांड से अधिक चाहते हैं, तो आपको साइबरविन में देखना चाहिए ।

EDIT- बस एहसास dir.exeएक अलग कार्यक्रम नहीं है, इसलिए यह वास्तव में काम नहीं करता है। लेकिन mklinkऔर साइबरविन के बारे में अच्छी बातें हैं।


+1, मैं यह कहना भूल गया कि विंडोज़ xp था लेकिन यह विंडोज़ विस्टा / 7 :) के लिए अच्छा है
aF।

4

उपरोक्त पोस्ट पर +1 विंडोज़ के लिए गिट स्थापित करने के लिए और निर्देशिका बिन को अपने पथ चर में जोड़ने का सुझाव देता है।

एक और तरीका मुझे अपने विंडोज 8 और विंडोज 7 मशीनों पर cmd.exe में काम करने के लिए टच, एलएस, और बहुत से अन्य यूनिक्स कमांड मिलते हैं।

Cygwin स्थापित करने के लिए निम्न साइट पर जाएं

https://www.cygwin.com/install.html

अपने सिस्टम के लिए 32 या 64 बिट संस्करण स्थापित करें। डिफ़ॉल्ट सेटिंग्स और पैकेजों में वह शामिल होना चाहिए जो आपको चाहिए ताकि संकुल स्क्रीन पर आने के बाद आपको कुछ भी बदलना न पड़े।

स्थापना के बाद, अपने पर्यावरण पथ चर पर Cygwin फ़ोल्डर पथ की प्रतिलिपि बनाएँ। उदाहरण के लिए; यदि आपने C: \ Cygwin में cygwin स्थापित किया है, तो आप अपने पर्यावरण प्रणाली पथ चर में निम्नलिखित जोड़ देंगे:

; C: \ Cygwin \ बिन

अपने सिस्टम पर मैंने 64 बिट संस्करण और डिफ़ॉल्ट फ़ोल्डर नाम स्थापित किया और पथ C: \ cygwin64 था। इसलिए मैंने अपने सिस्टम पर्यावरण पथ चर में निम्नलिखित जोड़े:

; C: \ cygwin64 \ बिन

यदि यह खुला है तो अपने टर्मिनल को पुनः आरंभ करें। फिर ls टाइप करें और आपको एक डायरेक्टरी लिस्टिंग दिखाई देगी।

निम्नलिखित देखें कि क्या आप PATH पर्यावरण चर सेट करने से परिचित नहीं हैं:

सुपरसुअर लिंक 1

सुपरयूज़र लिंक 2


3

यदि आप cmd को केवल lsएक उपनाम के रूप में पहचानना चाहते हैं dir, तो आप doskeyकमांड का उपयोग कर सकते हैं ( सुपरयूज़र पर इस उत्तर से )।

यह dir कमांड के मूल कमांड लाइन पैरामीटर हैंडलिंग को नहीं बदलता है।


3

आप cygwin का उपयोग भी कर सकते हैं और बस ls कमांड का उपयोग सीधे अन्य सभी यूनिक्स कमांड लाइन टूल के साथ कर सकते हैं जिनका आप उपयोग कर सकते हैं।


3

मेरी लेस्बेट नीचे थी

@dir %*

कि cli args ट्रांसफर कर सकते हैं

ls /b
ls /w

इसे% windir% या अपने% PATH% चर में किसी भी निर्देशिका में रखें।

बस सुनिश्चित करें कि आपने एएनएसआई एन्कोडिंग के साथ फाइल को बचाया है :)


2

मैं निम्नलिखित नुस्खा सुझाता हूं।

  1. का प्रयोग करें DOSKEYऔर $*अपने बनाने के लिए lsआदेश।
  2. इसे .bat / .cmd फ़ाइल में रिकॉर्ड करके कमांड को लगातार बनाए रखें और फ़ाइल के पथ को रजिस्ट्री में जोड़ें।

उदाहरण के लिए, आपकी कमांड ऐसी दिख सकती
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*है जो तर्कों पर आधारित आदेशों के लिए उपयोगी है। उदाहरण के लिए, यहां मुझे ऐसा करने में सक्षम होना पसंद है sublime my_code.c

Cmd के लिए रजिस्ट्री HKEY_CURRENT_USER -> सॉफ़्टवेयर -> Microsoft -> कमांड प्रोसेसर पर है। फ़ाइल के पूर्ण पथ (नहीं युक्त फ़ोल्डर) के साथ AutoRun नामक एक स्ट्रिंग मूल्यवान प्रविष्टि बनाएँ %USERPROFILE%\custom_command.cmd। तब हर बार cmd चलाया जाता है, आपकी कमांड लोड हो जाएगी!

आप बैच फ़ाइल में अधिक उपयोगी सामान भी जोड़ सकते हैं। एक उदाहरण टेम्पलेट के लिए यहां देखें ।


2

एक अन्य समाधान है कि मेरे लिए काम किया उपयोग करने के लिए है UnxUtils , जो निष्पादन योग्य फ़ाइलों (सहित से कई उपयोगिताओं कहते हैं ls, sed, और grep)।

उपयोग करने के लिए: स्रोत कोड डाउनलोड करें । Unzip। UnxUtils\usr\local\wbinWindows पथ चर के लिए पथ जोड़ें । एक नया CMD उदाहरण शुरू करें।


0

निश्चित रूप से एलएस बैचों के लिए यूनिक्स कमांड के रूप में काम नहीं करेगा। यदि आप% 1 के लिए -l या -a आदि और उनमें से सभी संयोजनों की जांच करते हैं, तो यह काम करेगा ...


0

आप इस गाइड का अनुसरण कर सकते हैं: https://gist.github.com/vladikoff/38307908088d58af206b

TL; DR : /K path/to/custom/init_cmd.batअपने "शेल स्टार्टअप" कमांड को पास करें।

मैं अपने खोल आवरण के रूप में कंसोल का उपयोग कर रहा हूं, इसलिए मेरे मामले में मैं "टैब" में सेटअप विकल्प पा सकता हूं, फिर मैंने शेल पथ को "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat"" इस तरह सेट किया ।

C:\cmd_init.batमेरे मैक्रो में बैच स्क्रिप्ट कहाँ है, यहाँ मैं इसके लिए क्या करूँगा:

@echo off

doskey ls=dir /b
rem other macro stuff..

स्वरूपण और अन्य गलतियों के लिए क्षमा करें, यह मेरा पहली बार यहाँ उत्तर दे रहा है। मुझे उम्मीद है यह मदद करेगा!


0

कोई व्यक्ति जो विंडोज के लिए लिनक्स सबसिस्टम का उपयोग करता lsहै, लिनक्स बैश से कॉल कर सकता है । निम्न कमांड lsSystem32 में कमांड बनाता है :

echo @bash -c "ls %*" > %systemroot%\system32\ls.bat

(लिनक्स सबसिस्टम सुविधा को पहले सक्षम / स्थापित किया जाना चाहिए)


-2

यहाँ मेरा C # सोर्स कोड और बाइनरी है

बस ls..exe को कहीं और जोड़ें और पथ पर्यावरण चर में पथ जोड़ें।


एक बाइनरी अनावश्यक है। बस एक सिमलिंक या बैट फ़ाइल का उपयोग करें।
क्रिस्टोफर श्नाइडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.