サーチ…


前書き

バッチとbashは全く異なっています。バッチフラグは/で示され、bashフラグは-示されます。大文字と小文字の区別はbashでは重要ですが、(ほとんど)一括ではありません。バッチ変数名はスペースを含むことができ、bash変数名はスペースを含むことができません。最終的には、どちらもコマンドラインを操作して対話する方法です。驚くべきことではないが、2つのシステムの能力の間にかなりの量のオーバーラップがある。

備考

  • bitsadminは、PowerShellコマンドレットBITSを使用して非推奨になりましたが、Windows 10バージョン1607
  • certutil空間と16進数の対を分離するので、 md5sum一例値返されd41d8cd98f00b204e9800998ecf8427eながら、 certutil同じ値を表示d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e
  • 別のドライブ(たとえば、C:からD :)にcdするには、 /dフラグを使用する必要があります
  • delはフォルダを削除できません。代わりにrmを使用してください
  • grepfindfindstrよりはるかに強力ですfind 、それを比較することはほとんど公平ではありません。 findは正規表現の機能を持たず、 findstrの正規表現の能力は非常に限られています( [az]{2}は有効な構文ではありませんが、 [az][az]は)
  • for Windowsのコマンドプロンプトでは、1文字の変数名しか使用できません。バッチ変数名では大文字と小文字が区別される唯一の時間です
  • コマンドプロンプトのforループも、 %A代わりに%A%使用します - バッチスクリプトのforループは変数%%A使用します
  • mdは必要な親ディレクトリを自動的に作成しますが、 mkdirには-pフラグが必要です
  • remそれが先行する場合を除き、インラインコメント文字として使用することはできません&
  • ::はインラインコメントとしては使用できません。また、コードブロック内では使用しないでください(括弧のセット)
  • 以下のようないくつかのWindowsのコマンドがありますpingまだ使用しています-フラグとして

バッチコマンドとBashに相当するもの

バッチバッシュ説明
command /? man command コマンドのヘルプを表示します。
bitsadmin wgetまたはcurl リモートファイルをダウンロードする
certutil -hashfile file_name MD5 md5sum file_name file_nameのMD5チェックサムを取得します。
cd pwd 現在のディレクトリを表示します。
cd directory cd directory 現在のディレクトリを指定されたディレクトリに変更します。
cls clear 画面をクリアします。
copy cp ソースパスからターゲットパスにファイルをコピーする
date date 日付を表示するか、ユーザーの入力に基づいて日付を設定します。
del rm ファイルを削除します。
dir ls 現在のディレクトリにファイルとディレクトリのリストを表示します。
echo echo 画面にテキストを表示する
exit return スクリプトまたはサブルーチンを終了する
exit logout コマンドプロンプトまたはターミナルを閉じます。
fc diff 2つのファイルの内容を比較する
find "string" file_name grep "string" file_name file_name文字列を検索します。
findstr "string" file_name grep "string" file_name file_name文字列を検索します。
for /F %A in (fileset*) do something for item in fileset*; do; something; done 一連のファイル内のすべてのファイルに対して何かをする
for /F %A in ('command') do something `command` コマンドの出力を返します。
for /L %A in (first,increment,last) do something for item in `seq first increment last`; do; something; done 最初に開始し、 最後に到達するまで増分カウントします。
forfiles find 特定の条件に一致するファイルを検索します。
if "%variable%"=="value" ( if [ "variable"="value" ]; then 2つの値を比較する
ipconfig ifconfig IP情報を表示する
md mkdir 新しいフォルダを作成します。
mklink ln -s シンボリックリンクを作成する
more more 一度に1画面ずつ出力する
move mv ファイルをソースパスからターゲットパスに移動する
pause read -p "Press any key to continue" ユーザーがボタンを押すまでスクリプトの実行を一時停止する
popd popd トップエントリをディレクトリスタックから削除し、新しいトップディレクトリに移動します。
pushd pushd 現在のディレクトリをディレクトリスタックに追加し、新しいトップディレクトリに移動します。
ren mv ファイルの名前を変更する
remまたは:: # コード行にコメントする
rd rmdir 空のディレクトリを削除する
rd /s rm -rf ディレクトリが空であるかどうかに関係なくディレクトリを削除します。
set variable=value variable=value 変数の値をvalueに設定します。
set /a variable=equation variable=$((equation)) 数学を実行します(バッチは32ビットの整数しか使用できません)
set /p variable=promptstring read -p "promptstring" variable ユーザー入力を取得し、 変数に格納します。
shift shift 引数を1にシフトします(指定されている場合はn)
sort sort 出力をアルファベット順にソートします。
tasklist ps 実行中のプロセスの一覧を表示します。
taskkill /PID processid kill processid PIDのprocessidでプロセスを強制終了する
time /t date 現在の時刻を表示します。
type cat ファイルの内容を表示します。
where which 現在のディレクトリとPATHでファイルまたはコマンドを検索します。
whoami id 現在のユーザーの名前とグループを表示します。

バッチ変数とその等価なBash

バッチバッシュ説明
%variable% $variable 通常の変数
!variable! $variable setlocal enabledelayedexpansionがオンの場合のコードブロック内の変数
%errorlevel%またはERRORLEVEL $? 前のコマンドのステータスを返します。成功した場合は0、失敗した場合は1(または何か他のもの)を返します。
%1%2%3など $1$2$3などスクリプトに与えられたパラメータ
%* $* スクリプトに与えられたすべてのパラメータ


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow