Cygwin:util-linuxPaket

Cygwin:util-linuxPaket

Ich habe gnuwin32undSFU. Das script.exeKommando auch nicht.

Weiß jemand, ob es ein script.exeÄquivalent für Windows gibt, außer von Cygwin, das ich (aus für diese Diskussion irrelevanten Gründen) nicht installieren möchte?

Antwort1

Nein, es gibt kein Windows-Äquivalent zu diesem scriptBefehl. Glauben Sie mir,Ich habe überall gesucht.

In jedem Fall können Sie die Umleitung verwenden, um zumindest die Hälfte davon zu erreichen. Sie werden die Ausgabe während der Ausführung nicht sehen, aber Sie können sie später in der Datei sehen. Leider ist es ein Kompromiss, aber im Notfall kann es helfen.

Das einzige, worauf Sie achten müssen, ist, dass einige Programme in mehr als einen Stream schreiben. Zusätzlich zuStandardausgang( stdout) können sie sich auch schriftlich anStandart Fehler( stderr) oderStandardprotokoll( stdlog). Um sicherzustellen, dass Sie erfassenalleAusgabe müssen Sie sowohl stdoutals auch umleiten stderr(unter Windows stdlogwird automatisch zu umgeleitet stdout). Im folgenden Beispiel cl.exedruckt der Microsoft-Compiler () das Banner (Kopfzeilentext) nach stderrund den Rest des Hilfetextes nach stdout.

C:\> cl /? > foobar.txt 2>&1

Antwort2

Ich fürchte, Kopieren und Einfügen ist die einzige Möglichkeit (die Umleitung der Ausgabe entspricht nicht dem Skriptbefehl).

EntsprechendMicrosoft Hilfeforum

Öffnen Sie die Eingabeaufforderung in einem Fensterformat, also nicht im Vollbildmodus ...

Klicken Sie nun mit der rechten Maustaste auf den Kopf der Eingabeaufforderung, also auf den blauen Streifen oben, und es gibt eine Option zum Bearbeiten. Wählen Sie dort die Option Markieren aus, also Bearbeiten->Markieren. Sie erhalten einen Cursor in der Eingabeaufforderung. Wählen Sie einfach den Bereich aus, den Sie kopieren möchten. Gehen Sie dann erneut nach oben und klicken Sie mit der rechten Maustaste auf Bearbeiten->Kopieren.

Fügen Sie es jetzt einfach in eine Textdatei ein und Sie erhalten den Inhalt der Eingabeaufforderung in der Textdatei ...

Antwort3

Kein Nicht-Cygwin, das ich kenne; aber was auch immer Ihre Gründe sind, Cygwin nicht zu wollen, Sie können sie überdenken, wenn Sie wissen, dassSie können die script.exe von cygwin trennen und die nicht benötigten Teile von cygwin löschen. Wird hässlich, funktioniert aber und ist portabel, benötigt bei mir 5 MB.

Kurz zusammengefasstein Verzeichnis an beliebiger Stelle erstellen binund mit der manuellen Installation derutil-linuxCygwin-Paket, kopieren Sie diese Dateien dorthin binund löschen Sie dann den Rest von Cygwin: bin\cyggcc_s-1.dll bin\cygiconv-2.dll bin\cygintl-8.dll bin\cygncursesw-10.dll bin\cygreadline7.dll bin\cygwin1.dll bin\script.exe bin\sh.exe

Das war's. Hier folgt die gewollt sehr ausführliche Beschreibung, wie man das herausfindet, wie man Cygwin installiert und alles weitere.


Cygwin:util-linuxPaket

Der scriptBefehl (Handbuchseite) existiert für Windows als nicht standardmäßiger Teil von Cygwin namens script.exe. Sie müssen das Paket für die Installation manuell auswählen, derzeit befindet es sich im Paket namensutil-linux. (Beachten Sie, dass es technisch möglich ist, script.exe von einer Cygwin-Installation zu trennen, wenn Sie die Abhängigkeiten angeben, auch wenn dies nicht empfohlen wird.)

Sobald Sie haben script.exe, können Sie eine cmd-Sitzung aufzeichnen, indem Sie sie starten script.exe -c cmd.exeund exitam Ende eingeben. Sie können den Ausgabedateinamen beispielsweise mit dem -aSchalter festlegen, der Standardname ist typescriptund überschreiben.


Um herauszufinden, welche EXE (oder andere Datei) sich in welchem ​​Paket befindet, können Sie online nach Paketinhalten von Cygwin suchen:http://www.cygwin.com/packages/Suchen Sie beispielsweise nach „script.exe“.

Zu Ihrer Informationkönnen Sie die Manualpage für den scriptBefehl in einem Linux-System über den BefehlMannBefehl, geben Sie man scriptin dasTerminal(wenn Sie Manpages installiert haben) oder onlineSuchedie Schlüsselwörter "man script typescript".


DerTascheähm... Rucksack-Anleitung für Cygwin:

Über Cygwin

Cygwin verknüpft jede EXE mit seiner eigenen .dll und erfordert daher zusätzlich zu seinen EXE-Dateien eine Kopie dieser DLL(s), ist aber ansonsten als Sammlung normaler, Windows-nativer EXE-Dateien verwendbar. Die Standardmethode zur Verwendung von Cygwin besteht jedoch darin, es über seineInstallateur. Das Basispaket soll etwa 30 MB zum Herunterladen und 90 MB zum Extrahieren umfassen, aber Sie können zusätzliche Pakete auswählen wieutil-linuxfür zusätzliche Exes wie script.exe.

Pakete installieren

Sie können Pakete installieren, indem Sie den Cygwin ausführenInstallateur, derzeit setup-x86.exefür x86 genannt (früher hieß es setup.exe. Außerdem gibt es gelegentlich Updates. Beispielsweise funktioniert die alte setup.exe nicht mehr, da sich die Pfade auf den Servern geändert haben; Sie müssen die neue herunterladen). Gehen Sie im Installationsprogramm der Reihe nach vorwärts, bis Sie etwas sehen, das einer Paketliste ähnelt.

Klicken Sie oben auf die Option "halten" und Blick auf "Voll", wenn Sie mich fragen. Bewegen Sie die Maus, um QuickInfos mit Informationen zur Bedeutung anzuzeigen.

detaillierter Weg zur Paketliste

Um zur Paketliste zu gelangen, gehen Sie auf einem x86 normalerweise wie folgt vor:herunterladenund starten Sie setup_x86.exe, klicken Sie auf „Weiter“, um zum Willkommensbildschirm zu gelangen, wählen Sie „Aus dem Internet installieren“ und klicken Sie auf „Weiter“, wählen Sie Ihr Installationsverzeichnis und klicken Sie auf „Weiter“, wählen Sie ein temporäres Paket-Cache-Verzeichnis und klicken Sie auf „Weiter“, wählen Sie „Direktverbindung“ (oder was auch immer Sie brauchen) und klicken Sie auf „Weiter“, wenn die Mirror-Liste heruntergeladen werden kann, ist sie tatsächlich in alphabetischer Reihenfolge der englischen Ländernamen (kaum zu glauben, aber wahr), Sie können sie an den Domänennamen-Endungen erkennen (zuerst .com/.net/.org, dann z. B. .au, .de, .gr usw.). Wählen Sie einen Mirror, der Ihrer Meinung nach in Ihrer Nähe ist, und klicken Sie auf „Weiter“, wenn der Download erfolgreich war, können Sie die Paketliste sehen.

Installationsgröße + Portabilität

Cygwin kann über sein Installationsprogramm installiert werden, aber das erstellte Verzeichnis ist tatsächlich portabel. Ich habe es mit 7z komprimiert und es dann erfolgreich auf anderen Computern extrahiert und verwendet.

Die Standardinstallation soll 90 MB entpackt und 30 MB heruntergeladen werden. Ein Beispiel der Standardpakete finden Sie aufdieser Nabble-Threadum eine Vorstellung davon zu haben, was auf einem Minimalsystem installiert werden soll. Sie können diese Pakete tatsächlich abwählen und z. B. nur auswählen.util-linuxbei der Installation, und das Cygwin-Installationsprogramm wird Sie fragen, ob Sie auch die Abhängigkeiten (Anforderungen) von util-linux installieren möchten. Ich bin mir jedoch nicht sicher, ob durch die Deaktivierung der Standardpakete trotzdem das mintty.exeTerminal oder installiert werden bash, die praktisch sind und normalerweise von der Cygwin-Umgebung erwartet werden, obwohl sie für die Verwendung der Cygwin-EXEs eigentlich nicht erforderlich sind.


Trennung von script.exe von cygwin

NOTIZdass davon abgeraten wird, Teile der Cygwin-Installation zu trennen, nicht weil dies nicht funktionieren kann, sondern weil, wenn mehr als eine EXE-Datei auf die cygwin.dll angewiesen ist, jedes Mal, wenn die cygwin.dll aktualisiert wird und Sie zufällig eine Kopie der neuen DLL für eine andere der EXE-Dateien erstellen, die DLL-Ladung versuchen könnte, die falsche DLL zu laden, zum Beispiel wenn sie sich im Pfad an einer früheren Position als die andere befindet.

Um script.exe zu trennen (und möglicherweise den Rest von Cygwin zu löschen), können Sie dies tun, indem Sie die DLL-Abhängigkeiten kopieren, aber das reicht nicht. Es versucht, eine sh.exe zu laden, auch wenn keine Unix-Shells vorhanden sind, also benötigt es auch sh.exe, aber es wird sie trotzdem nicht finden, es sei denn, Sie legen sie in ein Verzeichnis namens „bin“ (das könnte übrigens überall sein). Um also eine funktionsfähige script.exe getrennt von Cygwin zu haben, benötigen Sie diese Dateien in dieser Struktur (zum Zeitpunkt des Schreibens):

bin\cyggcc_s-1.dll, bin\cygiconv-2.dll, bin\cygintl-8.dll, bin\cygncursesw-10.dll, bin\cygreadline7.dll, bin\cygwin1.dll, bin\script.exe, bin\sh.exe,

Das binVerzeichnis kann übrigens überall sein.

Sie können die DLL-Abhängigkeit beispielsweise mit dem Total Commander Lister-Plugin abrufenDateiinformation

dll-Abhängigkeit über Total Commander Lister-Plugin "fileinfo"

Antwort4

Es klingt, als ob Sie den teeBefehl wollen. Sie können ihn bekommenHierMit Tee können Sie von der Standardeingabe lesen und in die Standardausgabe und in Dateien schreiben.

verwandte Informationen