Ich habe gnuwin32
undSFU. Das script.exe
Kommando 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 script
Befehl. 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 stdout
als auch umleiten stderr
(unter Windows stdlog
wird automatisch zu umgeleitet stdout
). Im folgenden Beispiel cl.exe
druckt der Microsoft-Compiler () das Banner (Kopfzeilentext) nach stderr
und 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 bin
und mit der manuellen Installation derutil-linuxCygwin-Paket, kopieren Sie diese Dateien dorthin bin
und 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 script
Befehl (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.exe
und exit
am Ende eingeben. Sie können den Ausgabedateinamen beispielsweise mit dem -a
Schalter festlegen, der Standardname ist typescript
und ü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 script
Befehl in einem Linux-System über den BefehlMannBefehl, geben Sie man script
in 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.exe
fü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.exe
Terminal 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 bin
Verzeichnis kann übrigens überall sein.
Sie können die DLL-Abhängigkeit beispielsweise mit dem Total Commander Lister-Plugin abrufenDateiinformation
Antwort4
Es klingt, als ob Sie den tee
Befehl wollen. Sie können ihn bekommenHierMit Tee können Sie von der Standardeingabe lesen und in die Standardausgabe und in Dateien schreiben.