337

*.batWindows でスクリプトを使用して 2 つのバイナリ ファイルを結合する必要があります。

どうすればそれを達成できますか?

4

11 に答える 11

488

Windowstypeコマンドは UNIX と同様に機能しますcat

例 1:

type file1 file2 > file3

以下と同等です。

cat file1 file2 > file3

例 2:

type  *.vcf > all_in_one.vcf  

このコマンドは、すべての vcard を 1 つにマージします。

于 2008-09-13T01:53:10.320 に答える
92

copy /b次のように使用できます。

copy /b file1+file2 destfile
于 2008-09-13T01:29:36.773 に答える
24

作業を行っているマシンを制御できる場合は、GnuWin32をインストールすることを強くお勧めします。「すべてダウンロード」して、wget プログラムにすべてのパッケージを取得させます。その後、cat、grep、find、gzip、tar、less、およびその他の数百にアクセスできます。

GnuWin32 は、新しい Windows ボックスに最初にインストールするものの 1 つです。

于 2008-09-13T03:45:06.497 に答える
14

恥知らずな PowerShell プラグイン (学習曲線は苦痛だと思うので、いつでも何かを教えることは役に立ちます)

Get-Content file1,file2

は Get-Content のエイリアスであることに注意してくださいtype。よろしければ、次のように書くこともできます。

type file1,file2
于 2008-09-13T02:00:03.847 に答える
7

複数のソース ファイルと 1 つの宛先ファイルに対して dos copy コマンドを使用するだけです。

copy file1+file2 appendedfile

バイナリ ファイルには /B オプションが必要な場合があります

于 2008-09-13T01:32:55.750 に答える
2

Windows 10 の Redstone 1 リリースでは、Windows は NTOS カーネル用の実際の Linux サブシステムを追加しました。もともとは Android アプリをサポートすることを目的としていたと思いますが、おそらく docker タイプのシナリオです。Microsoft は Canonical と提携し、実際のネイティブ bash シェルを追加しました。また、apt パッケージ マネージャーを使用して、多くの Ubuntu パッケージを取得できます。たとえば、Linux ボックスの場合と同様に、apt-get gcc を実行して GCC ツール チェーンをインストールできます。

もし私が大学在学中にそのようなものが存在していたら、ネイティブの Windows bash シェルで Unix プログラミングの割り当てのほとんどを実行できたと思います。

于 2016-05-17T20:15:34.943 に答える
1

既存のファイルの末尾にテキストを追加するだけの場合は、>> パイプを使用できます。元:

echo new text >>existingFile.txt
于 2014-05-30T03:49:44.587 に答える
0

バッチ スクリプトを使用する必要があり、Python がインストールされている場合は、バッチと Python でのポリゴットの回答を次に示します。

1>2# : ^
'''
@echo off
python "%~nx0" " %~nx1" "%~nx2" "%~nx3"
exit /b
rem ^
'''
import sys
import os

sys.argv = [argv.strip() for argv in sys.argv]
if len(sys.argv) != 4:
    sys.exit(1)

_, file_one, file_two, out_file = sys.argv

for file_name in [file_one, file_two]:
    if not os.path.isfile(file_name):
        print "Can't find: {0}".format(file_name)
        sys.exit(1)

if os.path.isfile(out_file):
    print "Output file exists and will be overwritten"

with open(out_file, "wb") as out:
    with open(file_one, "rb") as f1:
        out.write(f1.read())

    with open(file_two, "rb") as f2:
        out.write(f2.read())

join.bat として保存した場合の使用法は次のようになります。

join.bat file_one.bin file_two.bin out_file.bin

インスピレーションを与えてくれたこの回答にも感謝します。

于 2014-10-15T13:40:05.037 に答える
0

Linux サーバーで分割された tar アーカイブを再結合しようとしています。

そしてtype、Windowsで使用cmd.exeすると、ファイルが間違った順序で結合さtypeれることがわかりました.

batそこで、 GitHub https://github.com/sharkdp/batで名前が付けられたツールを見つけました。これには Windows ビルドがあり、コードの強調表示が改善されています。重要なことは、Windows 上で正常に動作し、tar アーカイブに再結合できることです!

于 2018-11-10T05:17:08.450 に答える