サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
IF文の中でSETで変数に値を設定しても設定されないとの話があったのでテストしてみます。
◆環境OS | Windows 7 Service Pack1 64bit Windows Server 2016 Datacenter |
---|---|
MS-DOS | 6.1.7601 |
IF文内でSETで値を設定して表示するバッチを作ります。 echo を off にしてしまうと動きが分かりにくくなってしまうのでそのままにしました。
settest.bat | ||
|
実行してみます。
> set SRC=C:\svn1\src
> set DST=dst
> IF src EQU src (
set SRC=C:\svn2\debug\src
set DST=E:\test
) ELSE (
set SRC=error1
set DST=error2
)
> echo C:\svn2\debug\src
C:\svn2\debug\src
> echo E:\test
E:\test
> pause
続行するには何かキーを押してください . . .
> set DST=dst
> IF src EQU src (
set SRC=C:\svn2\debug\src
set DST=E:\test
) ELSE (
set SRC=error1
set DST=error2
)
> echo C:\svn2\debug\src
C:\svn2\debug\src
> echo E:\test
E:\test
> pause
続行するには何かキーを押してください . . .
ちゃんとIF文内のSETも機能していますね。
このバッチファイルを Windows Server 2016 Datacenter でも動かしましたが同じ動作でした。
しかし、IF文のヘルプを IF /? で表示してみると、delコマンドは上手く動かないと書いてありました。
del コマンドは、改行で終了しなければならないため、次の例は、正しく動作しません:
少しくせがありそうですね。
Copyright (C) 2018 ymlib.com