Er der en bedre Windows-kommandolinjeskal?

Indlæg af Hanne Mølgaard Plasc

Problem



CMD.EXE udgør mange problemer for mig. Jeg har Cygwin installeret og bruger bash regelmæssigt, og jeg har også den mingwin bash shell, der leveres med mSysGit, men nogle gange behøver jeg virkelig at køre ting fra Windows shell.


Er der en erstatning for Windows-shellen, som:



  • Har en vedvarende kommandolinjepolitik, der er tilgængelig i min næste session, når jeg lukker en session? (som i bash HISTFILE)

  • husker hvilken mappe jeg lige var i, så jeg kan skifte mellem to mapper? (som i bash cd -)



(Eller er der mulighed for at aktivere disse funktioner i CMD.EXE?)


Jeg ser, at nogle har spurgt om en bedre Windows-shell før, men de spurgte om at klippe og indsætte, hvilket er lavere prioriteret for mig på dette tidspunkt. Det er ikke den konsol, der dræber mig, det er kommandolinjets tolk.

Bedste reference


Jeg har altid ønsket 4NT (haven ikke brugt det i et stykke tid nu).


Det er en forbedret kommandotolker til Windows, og det er hovedsageligt bagudkompatibel (hvilket betyder at du kan køre normale Windows-batchfiles). Den eneste grund til ikke at bruge den er, at den ikke leveres med Windows som standard kommandoen.exe gør.


Sammenlignet med standard Windows-kommandolinjetolk, har den bedre flowstyringsmekanismer. Alle standard Windows-kommandolinjeværktøjer er tilgængelige, men med ekstra muligheder og parametre.


Dybest set er det, hvad CMD.exe skulle have været.


Opdater : Ligner det 's kaldes ikke 4NT længere, men TakeCommand:
http://jpsoft.com/products.htm[8]

Andre referencer 1


Microsoft har lige udgivet Powershell. (Ca. 2 år siden) [9]


Jeg har allerede downloadet det, men prøvede det ikke meget, men synes et godt værktøj.

Andre referencer 2


Jeg bruger også Powershell. Det er en stor, linux shell-lignende men objektorienteret, udvidelig ramme. Cool ikke kun for systemadministratorer, men for udviklere også (byggeproces mv.). Powershell rocks bash eller andre linux konkurrenter :)


Hovedtilfælde:



  • Extensible med .NET-sprog

  • Brug af .NET-objekter (DateTime, File osv.)

  • Nem og klar syntaks

  • Remoting

  • Debug

  • Steppable pipelines

  • ...



Mere herfra:


http://blogs.msdn.com/powershell/default.aspx[10]


http://windowsteamblog.com/blogs/windowsvista/archive/2006/11/14/it-forum-day-one-windows-vista-and-windows-powershell.aspx[11]


http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx[12]

Andre referencer 3


En anden strålende løsning er 'Clink', som forbedrer CMD.exe med vedvarende historie og mange flere BASH-lignende funktioner. Bare installer det og åben CMD som normalt.
Se: http://code.google.com/p/clink/[13]


Eller hvis du virkelig vil have cd til at arbejde med at tage dig til den forrige mappe, skal du installere 'TCC/LE' gratis version fra http://jpsoft.com som nævnt af Wouter og Peter. [14]

Andre referencer 4


prøv konsol2:
http://sourceforge.net/projects/console/[15]


jeg kan lide det

Andre referencer 5


PyCmd passer til begge dine krav! Og det er bygget oven på cmd.exe ... [16]



  1. Kommandolinjen er vedholdende på tværs af PyCmd-sessioner

  2. Historik for nylig besøgte mapper (Alt-Venstre/Højre/D på tom linje)



Her har du listen over funktioner http://sourceforge.net/projects/pycmd/files/pycmd/0.8/[17]

Andre referencer 6


PowerShell, jeg vil sige. Det er Microsofts nye officielle skal til kommandolinjestyring. [18]


Jeg bruger det til udviklingsopgaver selv, og kan lide det. Det giver dig fleksibilitet til at interagere med .NET rammeklasserne direkte på kommandolinjen, som kan være meget kraftfuld.

Andre referencer 7


PowerShell fungerer ret godt, når du gør dine ting på PowerShell-måde. For eksempel, når du vil rote rundt med .NET apps og Windows-filer. Det virker godt til scripting, da syntaksen er meget pænere end i Bash ...


Men når du vil arbejde med nogle typiske UNIX-apps, kan du nemt komme i problemer, når PowerShell konverterer alle dine LF-linjestykker til CRLF (og ikke engang tænker på binære filer i rør).


Bare min erfaring.

Andre referencer 8


pushd og popd kan bruges til at navigere til og fra mapper.


c:> skubbe vinduer
c: \ Windows> PopD
c: \

Andre referencer 9


Så har PowerShell! Haven ikke prøvet det, men jeg har hørt mange fine ting om det.

Andre referencer 10


Andre har nævnt Powershell og 4NT allerede, begge er meget bedre løsninger end CMD og al sin bane syntaks, manglende dokumentation og ofte overraskende manglende evne til at gøre næsten enhver opgave, du måske vil bruge det til :)



  • 4NT er nu en del af Take Command GUI fil-management suite, men ejerne har kun gjort shell-delen tilgængelig på egen hånd, den hedder TCC/LE nu og er også nu fri! For de fleste mennesker Jeg siger at bruge dette - det er den nemmeste læringskurve ved at have en mest kompatibel syntaks til CMD, der har masser af ressourcer online og at kunne sige 80\% af filsystemopgaverne perfekt.


    TCC/LE download [19]

  • For folk med mere uklare behov, meget administration, eller mere fleksibilitet, prøv Powershell - det er en stejl indledende læringskurve, men den er internt meget konsekvent, og når du har fundet ud af det grundlæggende, du kan få adgang til og opererer på 99,9\% af alt, hvad Windows håndterer ved hjælp af det samme sæt værktøjer og metoder, selv udfører det på tværs af et netværk på andre maskiner. Selv ved at lære det grundlæggende (sort, vælg,\% og?) er det bedre end CMD ...


    PowerShell Owner's Manual [20]


    PowerShell Eksempler [21]

  • Hvis du er mere teknisk tilbøjelig, så anser jeg IPython - kernen det 'en konsol til at skrive og udføre Python-kode, men det fungerer også som et shell (og task management system) meget handy - det har bogmærker , aliaser, fane færdiggørelse af kode/filer, kan blande kode og shell kommandoer fx files=!dir *.txt gemmer output af dir *.txt, konfigurerbar logging af input og/eller outputs, kan gentage blokke af tidligere kommandoer, eksportere dem eller oprette makroer, og har udvidelser, der kan tilpasse det mere.


    IPython som en shell [22]


    Absolut ikke for svag i hjertet, men et meget stærkt miljø, hvis du kender Python!


Andre referencer 11


Jeg bruger cygwin. Det er en posix implementering til Windows. Så du kan køre Unix som programmer på Windows. Standardterminalen er bash, som er langt mere avanceret end Windows cmd.