AutoHotKey(오토핫키) 설명서 EnvSub

Posted by 발전소장
2014. 8. 13. 21:24 AutoHotKey/Commands

EnvSub

변수로부터 값을 감산한다.

EnvSub,Var,Value[,TimeUnits]
Var-=Value[,TimeUnits]
Var--

Parameters

인수명설명
Var 대상이 되는 변수명
Value 감산하는 수치.
(을)를 사용하는 일도 가능.
식을 사용하는 경우,TimeUnits(은)는 사용할 수 없다.
TimeUnits 일자 시각끼리를 감산할 때의 결과의 단위.
「Seconds」 「Minutes」 「Hours」 「Days」의 어떤 것인지를 지정.머리 글자 한 글자에서도 가능.
지정되면,Var(와)과Value(을)를YYYYMMDDHH24MISS형식의 일자 시각 포맷으로 간주해,2개의 일자 시각의 사이의 간격을TimeUnits그리고 지정한 단위로Var에 격납한다.
지정한 단위 미만의 간격은, 잘라 버릴 수 있다.(사사오입은 아니다).
Var(이)나Value의 값이 하늘의 경우, 현재의 일자 시각이 사용된다.
Var인가Value어느 쪽인지에서도 값이 일자 시각으로서 잘못하고 있는 경우,Var의 값은 비운다.

Remarks

「Var++」의 형식에서는,1만 값을 감산할 수 있다.
내부적으로는, 「Var-=1」라고 완전히 같다.

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvAdd, EnvMult, EnvDiv, SetFormat, , If var is [not] type, SetEnv, FileGetTime

Example(s)

EnvSub, MyCount, 2
MyCount -= 2 ; Equivalent to above
var1 = 20050126
var2 = 20040126
EnvSub, var1, %var2%, days
MsgBox, %var1% ; The answer will be 366 since 2004 is a leap year.


AutoHotKey(오토핫키) 설명서 EnvSet

Posted by 발전소장
2014. 8. 13. 21:23 AutoHotKey/Commands

EnvSet

환경 변수에 값을 설정

EnvSet, EnvVar, Value 

Parameters

인수명설명
EnvVar 환경 변수명.(「PATH」 등)
Value 설정하는 값

ErrorLevel

성공시는 「0」, 실패시는 「1」.

Remarks

설정된 환경 변수는,Run커멘드등에서 기동한 프로그램내로부터 참조할 수 있다.

일부의 커멘드의 인수로의 「%VarName%」(와)과 같은 변수의 전개에서는, 환경 변수도 통상의 변수와 같게 전개할 수 있다.

환경 변수의 길이는,OS에 의해32KB에 제한되고 있다.

Related

EnvUpdate, SetEnv, Run, RunWait

Example(s)

EnvSet,TestEnv,this is a test env
Run,%ComSpec% /K set TestEnv
;cmd.exe하지만 기동해,TestEnv에 격납된 내용을 표시한다


AutoHotKey(오토핫키) 설명서 EnvMult

Posted by 발전소장
2014. 8. 13. 21:22 AutoHotKey/Commands

EnvMult

변수의 값에 값을 걸어 적을 변수에 격납한다

EnvMult, Var, Value
Var*=Value

Parameters

인수명설명
Var 대상이 되는 변수명
Value 거는 값. (을)를 사용하는 일도 가능.

Remarks

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvAdd, EnvSub, EnvDiv, SetFormat, , If var is [not] type, SetEnv, bitwise operations (Transform)

Example(s)

EnvMult, MyCount, 2 
MyCount *= 2 ; Equivalent to above


AutoHotKey(오토핫키) 설명서 EnvGet

Posted by 발전소장
2014. 8. 13. 21:22 AutoHotKey/Commands

EnvGet

환경 변수로부터 값을 취득

EnvGet, OutputVar, EnvVarName

Parameters

인수명설명
OutputVar 취득한 값을 격납하는 변수명
EnvVarName 환경 변수명.(「PATH」 등)

Remarks

해당 환경 변수가 존재하지 않는 경우는,OutputVar(은)는 비운다

환경 변수의 길이는,OS에 의해32KB에 제한되고 있다.

Related

#NoEnv, EnvSet, EnvUpdate, SetEnv, Run, RunWait

Example(s)

EnvSet,TestEnv,this is a test env
Run,%ComSpec% /K set TestEnv
;cmd.exe하지만 기동해,TestEnv에 격납된 내용을 표시한다


AutoHotKey(오토핫키) 설명서 EnvDiv

Posted by 발전소장
2014. 8. 13. 21:21 AutoHotKey/Commands

EnvDiv

변수를 값으로 제산한다

EnvDiv, Var, Value
Var/=Value

Parameters

인수명설명
Var 대상이 되는 변수명
Value 나누는 수.(제로 이외)
(을)를 사용하는 일도 가능.

Remarks

실행시에 제로에 의한 제산이 발생하면, 에러 메세지가 표시된다.

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.(결과가 소수가 되어도, 정수에 말 수 있어 버리므로 주의)
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvAdd, EnvSub, EnvMult, SetFormat, , If var is [not] type, SetEnv, bitwise operations (Transform)

Example(s)

EnvDiv, MyCount, 2 
MyCount /= 2 ; Equivalent to above


AutoHotKey(오토핫키) 설명서 EnvAdd

Posted by 발전소장
2014. 8. 13. 21:00 AutoHotKey/Commands

EnvAdd

변수에 값을 가산한다.

EnvAdd, Var, Value [,TimeUnits]
Var+=Value [,TimeUnits]
Var++

Parameters

인수명설명
Var 대상이 되는 변수명
Value 가산하는 수치.
도 사용 가능.
식을 사용하는 경우는,TimeUnits(을)를 사용할 수 없다.
TimeUnits Value의 일자 시각의 단위.
「Seconds」 「Minutes」 「Hours」 「Days」의 어떤 것인지를 지정.머리 글자 한 글자에서도 가능.
지정되면,Var(을)를YYYYMMDDHH24MISS형식의 일자 시각 포맷으로 간주해,Value그리고 지정한 수를TimeUnits그리고 지정한 단위로 가산한다.
예를 들어,Value(을)를100,TimeUnits(을)를 「Days」라고 하면,Value의 일자를100닛신.
부의 값을 가산하는 것으로, 감산도 가능.
Var의 값이 하늘의 경우, 현재의 일자 시각이 사용된다.
Var의 값이 일자 시각으로서 잘못하고 있는 경우,Var의 값은 비운다.

Remarks

「Var++」의 형식에서는,1만 값을 가산할 수 있다.
내부적으로는, 「Var+=1」라고 완전히 같다.

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvSub, EnvMult, EnvDiv, SetFormat, , If var is [not] type, SetEnv, FileGetTime

Example(s)

EnvAdd, MyCount, 2
MyCount += 2 ; Equivalent to above
var1 = ; Make it blank so that the below will use the current time instead.
var1 += 31, days
MsgBox, %var1% ; The answer will be the date 31 days from now.


AutoHotKey(오토핫키) 설명서 Else

Posted by 발전소장
2014. 8. 13. 20:59 AutoHotKey/Commands

Else

If계의 커멘드로 조건에 일치하지 않았을 때의 동작을 지정

Else

Remarks

If커멘드와 조건에 일치했을 때에 실행시키고 싶은 커멘드(혹은 블록)에 이어else(을)를 사용하면, 조건에 일치하지 않았을 때에 실행시키고 싶은 동작을 기술할 수 있다.

else의 후에는 스페이스에서 단락지어(콤마는 아니다)실행시키고 싶은 커멘드를 기술할 수 있다.
「{」(은)는 「else{」(와)과 같이 스페이스를 비우지 않고 기술해도 좋다.
else if...」라고 하도록(듯이) 하고,A(이)가 아니고B(이)라면……이라고 하는 분기를 기술할 수도 있다.

Related

See Blocks. Also, every IF-command can use ELSE, including IfWinActive, IfWinExist, IfMsgBox, IfInString, IfBetween, IfIn, IF, and IF (expression)

Example(s)

IfWinExist, Untitled - Notepad
{
	WinActivate
	Sleep, 1
}
else
{
	WinActivate, Some Other Window
	Sleep, 1
}


if x = 1
	Gosub, a1
else if x = 2 ; "else if" style
	Gosub, a2
else IfEqual, x, 3 ; alternate style
{
	Gosub, a3
	Sleep, 1
}
else Gosub, a4  ; i.e. Any single command can be on the same line with an ELSE.

;Also OK:
IfEqual, y, 1, Gosub, b1
else {
	Sleep, 1
	Gosub, b2
}


AutoHotKey(오토핫키) 설명서 Edit

Posted by 발전소장
2014. 8. 13. 20:58 AutoHotKey/Commands

Edit

현재의 스크립트를 에디터로 열린다

Remarks

스크립트를 에디터로 열린다.
관련지어로 「Edit」커멘드가 설정되어 있으면, 그 커멘드로 열린다.
없으면,notepad.exe그리고 열린다.

task tray 메뉴의 「Edit This Script」와 같다.

Related

Reload

Example(s)

Edit ; opens the script for editing. 


AutoHotKey(오토핫키) 설명서 DriveSpaceFree

Posted by 발전소장
2014. 8. 13. 20:57 AutoHotKey/Commands

DriveSpaceFree

드라이브의 빈 용량을메가바이트 단위로 취득

DriveSpaceFree, OutputVar, Path 

Parameters

인수명설명
OutputVar 결과를 격납하는 변수명.
path 드라이브의 패스

Remarks

NTFS의 교차점 기능을 이용하고 있으면, 올바르게 취득할 수 없는 경우가 있다

Related

Drive, DriveGet

Example(s)

DriveSpaceFree, FreeSpace, c:\


AutoHotKey(오토핫키) 설명서 DriveGet

Posted by 발전소장
2014. 8. 13. 20:56 AutoHotKey/Commands

DriveGet

드라이브의 각종 정보를 취득

DriveGet, OutputVar, Cmd [, Value]

Parameters

인수명설명
OutputVar 정보를 격납하는 변수명.
취득에 실패했을 경우는, 비운다.
Cmd, Value 취득하고 싶은 정보의 종류와 옵션.
아래와 같이를 참조

Cmd, Value

List [, Type]
드라이브 문자의 일람.
「CDEFG」(와)과 같이 존재하는 드라이브 문자를 연결한 문자열이 취득된다.
Type에는 드라이브의 종류를 지정.생략시는 모든 드라이브가 취득된다.
Type(으)로 지정할 수 있는 것은, 「CDROM」 「REMOVABLE」 「FIXED」(통상의HDD(은)는 이것)「NETWORK」 「RAMDISK」 「UNKNOWN」.
Capacity (혹은 Cap), Path
드라이브의 요령이MB단위로 취득된다.
Path에는 「C:\」 등을 지정.
빈 용량을 취득하려면 ,DriveSpaceFree(을)를 사용한다.
Filesystem (혹은 FS), Drive
드라이브의 파일 시스템의 종류를 취득.
취득 결과는 「FAT」 「FAT32」 「NTFS」 「CDFS」 「UDF」의 어느 쪽인가에 된다.
포맷 된 미디어가 들어가 있지 않은 드라이브에서는 취득에 실패한다.
Drive에는 「C:\」(와)과 같은 드라이브 네임이나, 「\\server1\dir1」(와)과 같은 네트워크상의 공유 폴더를 지정한다.
Label, Drive
드라이브의 볼륨 레벨을 취득.
Drive에는 「C:\」(와)과 같은 드라이브 네임이나, 「\\server1\dir1」(와)과 같은 네트워크상의 공유 폴더를 지정한다.
SetLabel:NewLabel, Drive
드라이브의 볼륨 레벨을 「NewLabel」(으)로 변경한다. Drive에는 「C:\」(와)과 같은 드라이브 네임을 지정.
이 커멘드를 사용하는 경우,OutputVar(은)는 생략 한다.
Serial, Drive
드라이브의 일련 번호를 정수치로 취득.
Drive에는 「C:\」(와)과 같은 드라이브 네임이나, 「\\server1\dir1」(와)과 같은 네트워크상의 공유 폴더를 지정한다. SetFormat그리고 정수의 표시 형식을 변경할 수 있다.
Type, Path
드라이브의 종별을 취득.
취득 결과는 「CDROM」 「Removable」 「Fixed」(통상의HDD(은)는 이것)「Network」 「RAMDisk」 「Unknown」의 언젠가.
Status, Path
드라이브 상태를 취득.
취득 결과는 「Unknown」(포맷 되어 있지 않은 등)「Ready」(사용 가능)「NotReady」(미디어가 삽입되어 있지 않은 등)「Invalid」(존재하지 않는 패스나 접속할 수 없는 네트워크 드라이브)의 어느것인가.
StatusCD [, Drive]
CD(이)나DVD등의 광학 드라이브의 미디어 상태를 취득한다.
Drive하지만 생략 되면, 디폴트의 광학 드라이브 상태가 취득된다.
OutputVar에는 이하의 문자열이 격납된다.취득에 실패했을 경우는 비운다.
not ready
기입 실행중등의 이유에 의해, 드라이브에 액세스 할 수 없다
open
드라이브에 디스크가 들어가 있지 않은지, 트레이가 열리고 있다
playing
디스크를 재생중
paused
재생을 일시정지중
seeking
시크중
stopped
디스크는 들어가 있지만, 액세스 되어 있지 않다
광학 드라이브 이외의 드라이브에서는 이 서브 커멘드는 사용하지 못하고,OutputVar(은)는 비워,ErrorLevel(은)는 「1」(이)가 된다.
트레이를 닫은 직후의 미디어 인식중에 이 커멘드를 실행하면, 인식할 수 있게 될 때까지 스크립트가 정지한다.
현재로서는, 정지중은 hot key등이 효과가 없게 되어, 훅을 이용하고 있으면 키보드/마우스 조작에 래그가 발생한다.
Drive커멘드를 사용하는 것으로, 트레이를 배출/격납할 수 있다.

ErrorLevel

성공시는 「0」, 실패시는 「1」.

Related

DriveSpaceFree

Example(s)

; This is a working example script.
FileSelectFolder, folder, , 3, Pick a drive to analyze:
if folder =
	Exit
DriveGet, list, list
DriveGet, cap, capacity, %folder%
DrivespaceFree, free, %folder%
DriveGet, fs, fs, %folder%
DriveGet, label, label, %folder%
DriveGet, serial, serial, %folder%
DriveGet, type, type, %folder%
DriveGet, status, status, %folder%
MsgBox All Drives: %list%`nSelected Drive: %folder%`nDrive Type: %type%`nStatus: %status%`nCapacity: %cap% M`nFree Space: %free% M`nFilesystem: %fs%`nVolume Label: %label%`nSerial Number: %serial%