サイグウィン:ユーティリティLinuxパッケージ

サイグウィン:ユーティリティLinuxパッケージ

私は持っていgnuwin32SFU。コマンドもありませんscript.exe

Cygwin 以外に、Windows 用の同等のものが存在するかどうか知っている人はいますかscript.exe? Cygwin はインストールしたくありません (理由はこの議論とは無関係です)。

答え1

いいえ、Windowsにはこのコマンドに相当するものはありませんscript。信じてください。私はあちこち探し回った

いずれにしても、リダイレクトを使用すれば、少なくとも半分は達成できます。実行中は出力は表示されませんが、後でファイルで確認できます。残念ながら妥協策ではありますが、いざというときには役立ちます。

唯一注意しなければならないのは、一部のプログラムが複数のストリームに書き込むことです。標準出力stdout)、また、標準誤差stderr) または標準ログstdlog)。だから、あなたがキャプチャすることを確認するために全てstdout出力をリダイレクトするには、と の両方を にリダイレクトする必要がありますstderr(Windows では、stdlogは自動的に にリダイレクトされますstdout)。以下の例では、Microsoft コンパイラ ( cl.exe) はバナー (ヘッダー テキスト) を に出力しstderr、残りのヘルプ テキストを に出力しますstdout

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

答え2

残念ながら、コピー アンド ペーストが唯一の方法だと思います (出力のリダイレクトはスクリプト コマンドと同等ではありません)。

によるとMicrosoft ヘルプ フォーラム

cmd プロンプトをウィンドウ形式(全画面ではなく)で開きます...

次に、コマンドプロンプトの先頭、つまり上部の青い帯を右クリックし、編集オプションを選択します。そこでオプションマーク、つまり編集->マークを選択します。コマンドプロンプトにカーソルが表示されますので、コピーしたい領域を選択します。次に、上部の編集->コピーを右クリックします。

テキスト ファイルに貼り付けるだけで、テキスト ファイル内の cmd プロンプトの内容が取得されます...

答え3

私が知る限り、Cygwin以外のものはありません。しかし、Cygwinを望まない理由が何であれ、次のことを知って再考してもよいでしょう。script.exeをcygwinから分離し、cygwinの不要な部分を削除することができます。見た目は悪いですが、動作し、ポータブルで、私の場合は 5MB を占有します。

要約任意の場所にディレクトリを作成しbin、手動でインストールすることでユーティリティLinuxcygwin パッケージにこれらのファイルをコピーしbin、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

以上です。以下では、これをどうやって見つけるか、cygwin をどのようにインストールするか、その他すべてについて、非常に詳細に説明します。


サイグウィン:ユーティリティLinuxパッケージ

コマンドscriptマニュアルページ) は、Windows では と呼ばれる cygwin の非デフォルト部分として存在しますscript.exe。インストールするには手動でパッケージを選択する必要があります。現在は と呼ばれるパッケージにあります。ユーティリティLinux(賢明ではありませんが、依存関係を提供すれば、技術的には script.exe を cygwin インストールから分離することが可能です)

を取得したら、 を開始して終了時に入力するscript.exeことで、cmd セッションを記録できます。出力ファイル名は、たとえば スイッチで設定できます。デフォルト名は で、上書きされます。script.exe -c cmd.exeexit-atypescript


どの exe (またはその他のファイル) がどのパッケージに含まれているかを確認するには、cygwin のパッケージの内容をオンラインで検索します。http://www.cygwin.com/packages/たとえば、「script.exe」を探します。

ご参考までにscriptLinuxシステムでコマンドのマニュアルページを見るには、コマンドman scriptを入力するターミナル(マニュアルページがインストールされている場合)、またはオンラインで検索キーワード「man script typescript」。


ポケットえーっと…cygwin のバックパックガイド:

Cygwinについて

Cygwinは各exeを独自の.dllにリンクするため、exeファイルに加えてこれらのdllのコピーが必要ですが、それ以外は通常のWindowsネイティブexeファイルのコレクションとして使用できます。ただし、cygwinを使用する標準的な方法は、インストーラ基本パッケージはダウンロードで約30MB、解凍で約90MBと報告されていますが、次のような追加パッケージを選択することもできます。ユーティリティLinuxなどの追加のexeの場合script.exe

パッケージのインストール

cygwinを実行してパッケージをインストールすることができますインストーラ、現在setup-x86.exex86 では と呼ばれています (以前は と呼ばれていましたsetup.exe。また、時々更新されます。たとえば、古い setup.exe は、サーバー上のパスが変更されたため動作しなくなり、新しいものをダウンロードする必要があります)。インストーラーで、パッケージ リストに似たものが表示されるまで、次へ次へと進みます。

上部のオプション「保つ「そして」を見る満杯「私に言わせれば」。マウスをホバーすると、これらの意味に関する情報ツールチップが表示されます。

パッケージリストにアクセスする詳細な方法

パッケージ リストを取得するには、通常、x86 で次のようにします。ダウンロードを起動しsetup_x86.exe、ようこそ画面で「次へ」をクリックします。「インターネットからインストール」を選択して「次へ」をクリックします。インストール ディレクトリを選択して「次へ」をクリックします。一時パッケージ キャッシュ ディレクトリを選択して「次へ」をクリックします。「直接接続」(または必要なもの) を選択して「次へ」をクリックします。ミラー リストをダウンロードできる場合は、実際には国名の英語名のアルファベット順になっています (信じがたいことですが本当です)。ドメイン名の末尾から確認できます (最初に .com/.net/.org、次に .au、.de、.gr など)。近くにあると思われるミラーを選択して「次へ」をクリックします。ダウンロードに成功すると、パッケージ リストが表示されます。

インストールサイズ + 携帯性

Cygwin はインストーラー経由でインストールできますが、作成されるディレクトリは実際にはポータブルです。私は 7z で圧縮し、解凍して他のコンピューターで使用して成功しました。

デフォルトのインストールは解凍時に90MB、ダウンロード時に30MBとされています。デフォルトのパッケージの例はこのスレッド最小限のシステムに何をインストールすればよいかを把握します。実際には、これらのパッケージの選択を解除して、たとえば、のみを選択することもできます。ユーティリティLinuxインストール時に、cygwin インストーラーは util-linux の依存関係 (要件) もインストールするかどうかを尋ねます。ただし、デフォルト パッケージの選択を解除しても、ターミナルmintty.exeまたはがインストールされるかどうかはわかりませんbash。これらは便利で、通常 cygwin 環境では期待されていますが、実際には cygwin exe を使用するために必要ではありません。


script.exe を cygwin から分離する

注記cygwin インストールの一部を分離することは賢明ではありません。動作しないからではなく、cygwin.dll に依存する exe が複数ある場合、cygwin.dll が更新され、別の exe 用に新しい dll のコピーを作成するたびに、たとえば PATH 内で他の dll よりも前の位置にある場合、dll ロードで間違った dll をロードしようとする可能性があるためです。

とはいえ、script.exe を分離するには (そしておそらく cygwin の残りを削除するには)、dll 依存関係をコピーすればいいのですが、それだけでは十分ではありません。周りに unixy シェルがなくても sh.exe をロードしようとするので、sh.exe も必要になりますが、それらを「bin」というディレクトリ (ちなみに、これはどこでもかまいません) に配置しない限り、見つけることができません。したがって、機能的な script.exe を cygwin から分離するには、次の構造のファイルが必要です (この記事の執筆時点では):

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

binちなみにディレクトリはどこでも構いません

たとえばTotal Commander listerプラグインを使用してdll依存関係を取得できます。ファイル情報

Total Commander Lister プラグイン「fileinfo」経由の dll 依存関係

答え4

コマンドが欲しいようですねteeここ. Tee を使用すると、標準入力から読み取り、標準出力とファイルに書き込むことができます。

関連情報