バッチファイルスクリプト in ソフトウェア板
(ID:O2NVcKsc0のみ表示中)
戻る
2名無しさん@お腹いっぱい。 [sage]

AAS

NG

バッチファイル(コマンドプロンプト)の基本的な文法

メッセージ表示
ECHO Hello, world.

コメント
REM コメントその1

環境変数を設定
SET 変数名=[文字列]  例:SET HENSU=AIUEO
SET /A 変数名=[数式]


変数を参照 (変数を「%」で囲む)
ECHO %変数名%

四則演算
SET /A num=1+1 … 2
SET /A num=1-1 … 0
SET /A num=1*2 … 2
SET /A num=1/2 … 0 : 小数切り捨て
SET /A num=1/0 … NG : 0 除算エラー

文字列 ※引用符必要なし
SET str1=abc
SET str2=de f

文字列を結合
SET str1=aaa
SET str2=bbb
[全て表示]

2017/03/01(水)06:16:02.47(O2NVcKsc0.net)


3名無しさん@お腹いっぱい。 [sage]

AAS

NG

スクリプトの場所をカレントディレクトリに
cd /d %~dp0

これ以降のメッセージを表示させない
 ECHO OFF

ECHO OFFコマンド自体も表示させない
@ECHO OFF

%~ 構文の例
ECHO %~0 … ファイル名 :[test]
ECHO %~f0 … フルパス :[C:\Users\User\BAT\expand\test.bat]
ECHO %~d0 … ドライブ名 :[C:]
ECHO %~p0 … パス名のみ :[\Users\User\BAT\expand\]
ECHO %~n0 … ファイル名 :[test](拡張子無し)
ECHO %~x0 … 拡張子 :[.bat]
ECHO %~s0 … 短い名前のみ :[C:\Users\User\BAT\expand\test.bat]
ECHO %~a0 … ファイル属性 :[--a------]
ECHO %~t0 … ファイル日付 :[2017/03/01 00:01]
ECHO %~z0 … ファイルサイズ:[128]
ECHO %~dp0 … ファイルの場所:[C:\Users\User\BAT\expand\]
ECHO %~nx0 … ファイル名 :[test.bat](拡張子付き)
ECHO %~fs0 … 完全なパスと短い名前:[C:\Users\User\BAT\expand\test.bat]
ECHO %~ftza0 … 複合表示 :[--a------ 2017/03/01 00:01 128 C:\Users\User\BAT\expand\test.bat]

2017/03/01(水)06:16:19.33(O2NVcKsc0.net)


4名無しさん@お腹いっぱい。 [sage]

AAS

NG

pause   バッチファイルの処理を一時停止させる。
if else   条件によって処理を分岐する。
goto    バッチファイルの中の別の処理ブロックにジャンプする。
call     現在のバッチファイルから他のバッチファイルを呼び出し移動させる。
for     コマンドを繰り返して実行させる。
shift    バッチパラメータを繰り上げる。
setlocal  バッチファイルでの環境変数の使用を開始する。
endlocal  バッチファイルでの環境変数の使用を終了する。

2017/03/01(水)06:30:15.07(O2NVcKsc0.net)


5名無しさん@お腹いっぱい。 [sage]

AAS

NG

Windows Script Host(WSH)やVBScript、AutoHotkey(AHK)の話題もOK
スレタイはスクリプト総合で良かったかも

2017/03/01(水)06:37:15.03(O2NVcKsc0.net)


8名無しさん@お腹いっぱい。 [sage]

AAS

NG

ム板ではスクリプティング(プログラミング)〜 と扱われているけれど

ソフトウェア板だと既存アプリケーションを文字命令で使うだけ
プログラマではない一般のエンドユーザーが使うための物として扱われている

2017/03/01(水)17:55:03.94(O2NVcKsc0.net)


11名無しさん@お腹いっぱい。 [sage]

AAS

NG

>>7
BashならLinux板だろって思ったけどBash on Windowsもあるんだった

2017/03/01(水)20:02:21.69(O2NVcKsc0.net)


戻る
ver.151005sp