*.bat
Windows でスクリプトを使用して 2 つのバイナリ ファイルを結合する必要があります。
どうすればそれを達成できますか?
*.bat
Windows でスクリプトを使用して 2 つのバイナリ ファイルを結合する必要があります。
どうすればそれを達成できますか?
Windowstype
コマンドは UNIX と同様に機能しますcat
。
例 1:
type file1 file2 > file3
以下と同等です。
cat file1 file2 > file3
例 2:
type *.vcf > all_in_one.vcf
このコマンドは、すべての vcard を 1 つにマージします。
copy /b
次のように使用できます。
copy /b file1+file2 destfile
作業を行っているマシンを制御できる場合は、GnuWin32をインストールすることを強くお勧めします。「すべてダウンロード」して、wget プログラムにすべてのパッケージを取得させます。その後、cat、grep、find、gzip、tar、less、およびその他の数百にアクセスできます。
GnuWin32 は、新しい Windows ボックスに最初にインストールするものの 1 つです。
恥知らずな PowerShell プラグイン (学習曲線は苦痛だと思うので、いつでも何かを教えることは役に立ちます)
Get-Content file1,file2
は Get-Content のエイリアスであることに注意してくださいtype
。よろしければ、次のように書くこともできます。
type file1,file2
複数のソース ファイルと 1 つの宛先ファイルに対して dos copy コマンドを使用するだけです。
copy file1+file2 appendedfile
バイナリ ファイルには /B オプションが必要な場合があります
Windows 10 の Redstone 1 リリースでは、Windows は NTOS カーネル用の実際の Linux サブシステムを追加しました。もともとは Android アプリをサポートすることを目的としていたと思いますが、おそらく docker タイプのシナリオです。Microsoft は Canonical と提携し、実際のネイティブ bash シェルを追加しました。また、apt パッケージ マネージャーを使用して、多くの Ubuntu パッケージを取得できます。たとえば、Linux ボックスの場合と同様に、apt-get gcc を実行して GCC ツール チェーンをインストールできます。
もし私が大学在学中にそのようなものが存在していたら、ネイティブの Windows bash シェルで Unix プログラミングの割り当てのほとんどを実行できたと思います。
既存のファイルの末尾にテキストを追加するだけの場合は、>> パイプを使用できます。元:
echo new text >>existingFile.txt
バッチ スクリプトを使用する必要があり、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
インスピレーションを与えてくれたこの回答にも感謝します。
Linux サーバーで分割された tar アーカイブを再結合しようとしています。
そしてtype
、Windowsで使用cmd.exe
すると、ファイルが間違った順序で結合さtype
れることがわかりました.
bat
そこで、 GitHub https://github.com/sharkdp/batで名前が付けられたツールを見つけました。これには Windows ビルドがあり、コードの強調表示が改善されています。重要なことは、Windows 上で正常に動作し、tar アーカイブに再結合できることです!