Windowsãƒãƒƒãƒ(MS-DOS)

Windowsãƒãƒƒãƒ

Windows上ã®å‡¦ç†ã‚’自動化ã™ã‚‹ãƒ—ログラム
正確ã«ã¯MS-DOS上ã®å‡¦ç†ã®è‡ªå‹•化
Windowsã®å¤šå½©ãªæ©Ÿèƒ½ã®æ“作ã¯ãƒãƒƒãƒã‚³ãƒžãƒ³ãƒ‰ã§ã¯å®Ÿç¾ã§ããªã„
コマンドプロンプトã«ãŠã‘ã‚‹MS-DOSコマンドをã¾ã¨ã‚ã¦è¨˜è¿°ãƒ»ä¿å­˜ã—ã¦ãŠã事ã§ã€ã¾ã¨ã‚ã¦å®Ÿè¡Œã§ãã‚‹
Linuxã«ãŠã‘るシェルスクリプト
MS-DOSã€Linuxコマンドã«ã¤ã„ã¦ã¯ã€Œãƒãƒƒãƒã‚³ãƒžãƒ³ãƒ‰(Linux/DOS/PowerShell)ã€å‚ç…§

コマンド

コマンド 機能
pause ãƒãƒƒãƒä¸­æ–­
exit コマンドプロンプト終了
@~ ç”»é¢éžè¡¨ç¤º
timeout 待機

ãƒãƒƒãƒä¸­æ–­
pause
コマンドプロンプト終了
exit
ç”»é¢éžè¡¨ç¤º
@~
@echoã€@if ~等

TIMEOUT /T 待機時間(秒)
TIMEOUT /T 60
TIMEOUT /T -1 ※無制é™

コマンドパラメータ

パラメータ 機能
/E ファイルãŒå­˜åœ¨ã—ãªãã¦ã‚‚ディレクトリã”ã¨ã‚³ãƒ”ー
/Y åŒåã®ãƒ•ァイルãŒå­˜åœ¨ã™ã‚‹å ´åˆã€è‡ªå‹•ã§ä¸Šæ›¸ã
/D コピー先ã«åŒåã®ãƒ•ァイルãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯æ›´æ–°æ—¥ãŒæ–°ã—ã„ファイルã®ã¿ã‚³ãƒ”ー
/q 確èªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ãªã„
/p 確èªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹

組込変数

変数 機能
%~dp0 実行ファイルãŒç½®ã‹ã‚Œã¦ã„るカレントディレクトリ
%0 実行ファイルパス
%~n0 ファイルå
%~x0 æ‹¡å¼µå­

起動パラメータ

å—å–

> test.bat 5 ABC ""
文字列ã¯"ã§å›²ã¾ãªã„
※test.bat
set prm1 = %1
set prm2 = %2
set prm3 = %3

SQL*Plus実行時

> test.bat 5 ABC ""
※test.bat
sqlplus (接続情報) @C:\test.sql %1 %2 %3
起動パラメータをãã®ã¾ã¾æ¸¡ã™

エラーãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°

%errorlevel%
ms-dosæ“作ã®çµæžœãŒè‡ªå‹•çš„ã«æ ¼ç´ã•れる組込ã¿å¤‰æ•°
明示的ã«å€¤ã‚’セットã™ã‚‹äº‹ã‚‚å¯èƒ½
parent.batã‹ã‚‰child.batを呼ã³å‡ºã™å ´åˆ
※parent.bat

call c:\child.bat
child.batã§ã®çµ‚äº†çµæžœã«å¿œã˜ã¦åˆ†å²

if %errorlevel% neq 0 goto NG
:OK
@echo OK
exit
*NG
@echo NG
exit
※child.bat
変数をクリア

set errorlevel =
~

errorlevelã«æ­£å¸¸(0)をセットã—ã¦çµ‚了

exit /b 0
~

errorlevelã«ç•°å¸¸(1)をセットã—ã¦çµ‚了

exit /b 1

SQL*Plusã®æˆ»ã‚Šå€¤

SQL*Plusを実行
æ›´ã«PL/SQLを記述ã—ãŸå¤–部スクリプトを実行ã™ã‚‹å ´åˆ
> SQLPLUS (接続情報) @(スクリプトファイルå)
if %errorlevel% neq 0 goto NG

「Oracle SQL*Plus使用方法ã€å‚ç…§

PSQLã®æˆ»ã‚Šå€¤

psql -d ~ -h ~ -p ~ -U ~ -f ~.sql
if %errorlevel% neq 0 (
  ~
) else (
  ~
)

「SQL DML:制御文/設定ã€å‚ç…§

制御文

Foræ–‡
プログラム言語 制御文/For文

Follow me!