コマンドプロンプトで関数を定義する・バッチ処理に引数(パラメータ)を指定する

久しぶりにbatファイルで作業をする機会があったので、メモとして記載します。

コマンドプロンプトで関数を定義するバッチスクリプト

@echo off
setlocal

echo Start ERRORLEVEL : %ERRORLEVEL%
Call :sampleFunc %1
echo End   ERRORLEVEL : %ERRORLEVEL%

endlocal
exit /b

:sampleFunc
echo Sample Fucntion Call %1
exit /b 777

関数は11行目以降です。”:”(コロン)の後に関数名を定義します。echo で”Sample Fucntion Call”+引数 を出力して、終了コード”777″で関数の処理を終了します。

5行目の、”Call :関数名 %1″で関数を呼び出します。”%1″はこのバッチスクリプトの1つ目の引数に指定された値が設定されます。

関数以外のバッチスクリプト自体は、以下の流れとなります。

  • ERRORLEVELの出力
  • 関数”sampleFunc”に”%1″を渡して呼び出し
  • ERRORLEVELの出力

実行結果

上記のバッチスクリプトを”func.exe”で保存した場合の実行例です。

“param1″と”123″を指定して2回実行しています。”echo %ERRORLEVEL%”で、バッチスクリプトの終了コードを表示します。

C:\Dev>func.bat param1
Start ERRORLEVEL : 0
Sample Fucntion Call param1
End   ERRORLEVEL : 777

C:\Dev>echo %ERRORLEVEL%
777

C:\Dev>func.bat 123
Start ERRORLEVEL : 0
Sample Fucntion Call 123
End   ERRORLEVEL : 777

C:\Dev>echo %ERRORLEVEL%
777

C:\Dev>

PostgreSQL pg_ctlコマンドで起動、停止、起動確認する Windows

PostgreSQLをpg_ctlコマンドで起動する

# PostgreSQLをpg_ctlコマンドで起動する
pg_ctl start -D "C:\Program Files\PostgreSQL\11\data"

※データベースクラスタディレクトリ(”C:\Program Files\PostgreSQL\11\data”) は、環境に併せて変更する

※また、コマンドプロンプトを管理者として実行する必要があります


PostgreSQLをpg_ctlコマンドで停止する

#  PostgreSQLをpg_ctlコマンドで停止する
pg_ctl stop -D "C:\Program Files\PostgreSQL\11\data"


PostgreSQLをpg_ctlコマンドで起動確認する

# PostgreSQLをpg_ctlコマンドで起動確認する 
pg_ctl status -D "C:\Program Files\PostgreSQL\11\data"


起動コマンドの実行結果 例


サーバの起動完了を待っています....2019-11-27 02:23:00.130 JST [4728] LOG:  IPv6アドレス"::"、ポート5432で待ち受けています
2019-11-27 02:23:00.130 JST [4728] LOG:  IPv4アドレス"0.0.0.0"、ポート5432で待ち受けています
2019-11-27 02:23:00.149 JST [4728] LOG:  ログ出力をログ収集プロセスにリダイレクトしています
2019-11-27 02:23:00.149 JST [4728] ヒント:  ここからのログ出力はディレクトリ"log"に現れます。
完了
サーバ起動完了


停止コマンドの実行結果 例


サーバ停止処理の完了を待っています....完了
サーバは停止しました


起動確認コマンドの実行結果 例

pg_ctl: サーバが動作中です(PID: 4728)

pg_ctl: サーバが動作していません

Windows10でコマンドプロンプトを開く方法

Windows10でコマンドプロンプトを開く方法を複数の方法でご紹介します。

Windows10でコマンドプロンプトを開く方法

ファイル名を指定して実行

一番私がよくやるコマンドプロンプトの表示方法です。

「Windows」ボタン+「R」を同時におして「ファイル名を指定して実行」を開きます。

開いたら「cmd」を入力し、「OK」ボタンまたはエンターキーを押します。

Windowsスタートメニューからコマンドプロンプトを検索して実行

Windowsのスタートメニューを表示するには画面左したのメニューのウインドウマークをクリックするか、「ウインドウ」ボタンをおします。

スタートメニューが表示されたら、コマンドプロンプトを入力します。

コマンドプロンプトが表示されたら選択します。

カレントフォルダをからコマンドプロンプトを起動する

コマンドプロンプトを開きたいフォルダを開いた状態で、「Alt」ボタン+「D」を押してツールバーへフォーカスします。

ツールバーがアクティブな状態で、「cmd」を入力します。

この方法でコマンドプロンプトを開いた場合、開いたフォルダに移動している状態でコマンドプロンプトが開かれます。
※上記の場合、「C:\workspace」となる