動手做批次檔2

set
SET 顯示,設定或移除環境變數

用法:
set [variable=[string]
variable 指定環境變數名稱
指定設定給變數的一系列字元

這樣看或許很抽象
實地的示範一次就知道

@echo off
set a=hello //將a設為hello
echo %a% //解讀a的內容
pause

這時螢幕就會顯示hello 夠簡單吧!

用set來顯示環境變數
在CMD指令下輸入set p
就會顯示所有"P"開頭的環境變數
輸入set a
就會顯示所有"A"開頭的環境變數
以此類推

如果在目前的環境中找不到變數set命令會將errorlevel設為1

set參數

set /a 用來設置運算式
支援以下運算式
() -組成一群
! ~ - -一元運算符
* / % -數字運算元
+ - -數字運算元
<< >> - 邏輯位移
& - 位元運算 and
^ - 位元運算 exclusive or
| - 位元運算 or
= *= /= %= += -= - 指定
&= ^= |= <<= >>=
, - 運算式分隔字元

如果您使用了任何邏輯或餘數運算子,您必須將運算式兩邊括上引號。
任何在運算式中非數字的字串會被當作環境變數,並且在使用前會先將
這些環境變數轉換為數字。如果您所指定的環境變數名稱尚未在目前環
境中定義,那麼它的值會被設為 0。這可以讓您用環境變數值來做運算
,而不必打入所有的 % 符號來取得它的值。如果 SET /A 是用指令檔
之外的命令列執行,它會顯示運算式最後的數值。指定運算子需要有個
環境變數在等號的左方。0x 字首在數字前方代表十六進位數字、0b 字
首代表二進位數字或 0 字首代表八進位數字,否則數字值都是指十進位
數字。所以 0x12 就和 18、022 等相同。請注意八進位數字可能容易
弄錯: 像 08 和 09 就不是正確的數字,因為 8 和 9 並不是八進位的
正確數字。

EX:set /a a=9+1 //用echo %a%時 會顯示10 如果不加上"/a"則顯示9+1

set /p 讓使用者輸入變數值

EX:set /p a=輸入: //當你啟動批次檔時 會看到"輸入:" 假設在後方輸入55 則 a的值就是55

==================================================================
動手做做看!

.
.
.
.
.
.
解答:
@echo off
title 第二支批次檔!
set /p a=請輸入一個數字:
set /a b=(%a%+5)*10
echo (%a%+5) X 10=%b%
pause

*轉載須附上文章出處http://nobrain-place.blogspot.com/2009/04/2.html

沒有留言:

張貼留言