FileSelectFile

»ç¿ëÀÚ°¡ ÆÄÀÏÀ» ¿­°Å³ª ÀúÀåÇÒ ¼ö Àִ ǥÁØ ´ëÈ­»óÀÚ¸¦ º¸¿©ÁÝ´Ï´Ù.

FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]

¸Å°³º¯¼ö

OutputVar

»ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ÆÄÀÏÀ̸§À» ÀúÀåÇÒ º¯¼öÀÇ À̸§. »ç¿ëÀÚ°¡ Ãë¼Ò¸¦ Çϸé (Áï, ÆÄÀÏÀ» ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é) ÀÌ °ªÀº ºñ¿öÁý´Ï´Ù.

¿É¼Ç

»ý·«Çϸé, 0ÀÌ ±âº»°ªÀÌ µË´Ï´Ù. ¾Æ·¡ ¿É¼ÇÀ» Çϳªµµ ÁöÁ¤ÇÏÁö ¾ÊÀº °Í°ú °°½À´Ï´Ù.

M: ´ÙÁß-¼±ÅÃ. ±âÈ£ MÀ» ÁöÁ¤ÇÏ¸é »ç¿ëÀÚ´Â shift-click, control-click, ¶Ç´Â ±âŸ ¼ö´ÜÀ» ÅëÇÏ¿© ÆÄÀÏÀ» Çϳª ÀÌ»ó ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. MÀº ¼±ÅÃÀûÀ¸·Î ´ÙÀ½¿¡ ¼ýÀÚ°¡ ¾Æ·¡¿Í °°ÀÌ µû¶ó ¿Ã ¼ö ÀÖ½À´Ï´Ù (¿¹¸¦ µé¾î, M°ú M1Àº ¸ðµÎ À¯È¿ÇÕ´Ï´Ù). °³º°ÀûÀ¸·Î ÆÄÀÏÀ» ÃßöÇÏ·Á¸é, ÀÌ ÆäÁöÀÌ ÇÏ´ÜÀÇ ¿¹Á¦¸¦ ÂüÁ¶ÇϽʽÿÀ.

S: ÀúÀå ¹öÆ°ÀÔ´Ï´Ù. ±âÈ£ S¸¦ ÁöÁ¤ÇÏ¸é ´ëÈ­»óÀÚ°¡ ¾ðÁ¦³ª Open ´ë½Å¿¡ Save ¹öÆ°À» º¸¿©ÁÝ´Ï´Ù. S´Â ¼±ÅÃÀûÀ¸·Î ´ÙÀ½¿¡ ¼ýÀÚ°¡ (¶Ç´Â ¼ýÀÚµéÀÇ ÇÕ)ÀÌ ¾Æ·¡¿¡ ±â¼úÇÏ´Â ¹Ù¿Í °°ÀÌ (¿¹¸¦ µé¾î, S¿Í S24´Â ¸ðµÎ À¯È¿ÇÕ´Ï´Ù) µû¶ó ¿Ã ¼ö ÀÖ½À´Ï´Ù.

M°ú S°¡ ¾ø´õ¶óµµ, ´ÙÀ½ ¼ýÀÚ´Â »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ ¼ýÀÚ¸¦ ÁöÁ¤ÇÏ·Á¸é, ÇÕÃļ­ ÁöÁ¤ÇÏ¸é µË´Ï´Ù. ¿¹¸¦ µé¾î 8°ú 16À» ÁöÁ¤ÇÏ·Á¸é, ¼ýÀÚ 24¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

1: ÆÄÀÏÀÌ Á¸ÀçÇØ¾ß ÇÔ
2: °æ·Î°¡ Á¸ÀçÇØ¾ß ÇÔ
8: »õ ÆÄÀÏÀ» ¸¸µé ÇÁ·ÒÇÁÆ®
16: ÆÄÀÏÀ» µ¤¾î¾µ ÇÁ·ÒÇÁÆ®
32 [v1.0.43.09+]: ´ÜÃàÆÄÀÏ (.lnk)Àº ¸ñÇ¥·Î °áÁ¤µÇÁö ¾Ê°í ±×´ë·Î ¼±Åõ˴ϴÙ. ÀÌ ¿É¼ÇÀº ¶Ç Æú´õ ´ÜÃàÅ°¸¦ ÅëÇÏ¿© Æú´õ¸¦ Ç×ÇÏÁö ¸øÇϵµ·Ï ¸·½À´Ï´Ù.

"µ¤¾î¾µ ÇÁ·ÒÇÁÆ®" ¿É¼ÇÀÌ "¸¸µé ÇÁ·ÒÇÁÆ®" ¿É¼Ç ¾øÀÌ Á¸ÀçÇϸé, ´ëÈ­»óÀÚ´Â Open ¹öÆ°ÀÌ ¾Æ´Ï¶ó Save ¹öÆ°ÀÌ Æ÷ÇԵ˴ϴÙ. ÀÌ ÇàÀ§´Â À©µµ¿ìÁîÀÇ ±«ÀÌÇÑ ÇàÀ§ ¶§¹®ÀÔ´Ï´Ù.

RootDir\Filename

Á¸ÀçÇϸé, ÀÌ ¸Å°³º¯¼ö´Â ´ÙÀ½ Áß Çϳª¸¦ ´ã°í ÀÖ½À´Ï´Ù:

RootDir: ·çÆ® (½ÃÀÛ) µð·ºÅ丮, Àý´ë °æ·Î¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é %A_WorkingDir%¿¡ ÀÖ´Â ÇÏÀ§Æú´õ¶ó°í °£ÁÖÇÕ´Ï´Ù. »ý·«Çϰųª ºñ¾î ÀÖÀ¸¸é, ½ÃÀÛ µð·ºÅ丮´Â OS ¹öÀü¿¡ µû¶ó ±âº»°ªÀÌ °áÁ¤µË´Ï´Ù (¾Õ¿¡¼­ FileSelectFileÀ» »ç¿ëÇÏ´Â µ¿¾È »ç¿ëÀÚ°¡ °¡Àå ÃÖ±Ù¿¡ ¼±ÅÃÇÑ µð·ºÅ丮°¡ µÉ °¡´É¼ºÀÌ ³ô½À´Ï´Ù). Windows XP/2003 ÀÌÀüÀÇ v1.0.43.10+¿¡¼­, ::{20d04fe0-3aea-1069-a2d8-08002b30309d} (Áï, ³» ÄÄÇ»ÅÍ)¿Í °°Àº CLSIDµµ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì CLSID µÚ¿¡ ³ªÅ¸³ª´Â ÇÏÀ§µð·ºÅ丮°¡ ³ªÅ¸³ª¸é ¸ðµÎ ¿ª»ç¼±À¸·Î ³¡³ª¾ß ÇÕ´Ï´Ù (±×·¸Áö ¾ÊÀ¸¸é, ¸¶Áö¸· ¿ª»ç¼± ´ÙÀ½ÀÇ ¹®ÀÚ¿­Àº ¾Æ·¡¿Í °°ÀÌ ±âº» ÆÄÀÏ À̸§À¸·Î ¹ø¿ªµË´Ï´Ù).

Filename: ´ëÈ­»óÀÚÀÇ ÆíÁý Çʵ忡 óÀ½¿¡ º¸¿©ÁÙ ±âº» ÆÄÀÏÀ̸§. (°æ·Î ¾ø´Â) ³¯ ÆÄÀÏÀ̸§¸¸ º¸¿©ÁÝ´Ï´Ù. ´ëÈ­»óÀÚ°¡ ¿Ã¹Ù¸£°Ô º¸¿©Áöµµ·Ï È®ÀÎÇÏ·Á¸é, À¯È¿ÇÏÁö ¾ÊÀº ¹®ÀÚµéÀÌ ³ªÅ¸³ªÁö ¾Êµµ·Ï È®ÀÎÇϽʽÿÀ (¿¹¸¦ µé¾î /<|:").

¿¹Á¦:

C:\My Pictures\Default Image Name.gif  ; RootDir°ú Filename ¸ðµÎ ³ªÅ¸³³´Ï´Ù.
C:\My Pictures  ; RootDir¸¸ ³ªÅ¸³³´Ï´Ù.
My Pictures  ; RootDir¸¸ ³ªÅ¸³ª°í, ±×ÀÇ À§Ä¡´Â ÇöÀç ÀÛ¾÷ µð·ºÅ丮¿¡ »ó´ëÀûÀÔ´Ï´Ù.
My File  ; Filename¸¸ ³ªÅ¸³³´Ï´Ù (±×·¯³ª "My File"ÀÌ Æú´õ·Î Á¸ÀçÇϸé,  RootDir¿¡ ÀÖ´Ù°í °£Áֵ˴ϴÙ).
Prompt

»ç¿ëÀÚ¿¡°Ô ¹«¾ùÀ» ÇÒÁö â¿¡ º¸¿©ÁÖ´Â ÅؽºÆ®. »ý·«Çϰųª ºñ¾î ÀÖÀ¸¸é, ±âº»°ªÀº "Select File - %A_SCRIPTNAME%" (Áï, ÇöÀç ½ºÅ©¸³Æ®ÀÇ À̸§)ÀÌ µË´Ï´Ù.

Filter

´ëÈ­»óÀÚ¿¡ ¾î¶² À¯ÇüÀÇ ÆÄÀÏÀ» º¸¿©ÁÙÁö ³ªÅ¸³À´Ï´Ù.

¿¹Á¦: Documents (*.txt)
¿¹Á¦: Audio (*.wav; *.mp2; *.mp3)

»ý·«Çϸé, ÇÊÅÍ ±âº»°ªÀº ¸ðµç ÆÄÀÏ (*.*)ÀÌ µË´Ï´Ù. ÅؽºÆ® ¹®¼­ (*.txt)¸¦ À§ÇÑ ¿É¼Çµµ ´ëÈ­»óÀÚÀÇ "ÆÄÀÏÀÇ Á¾·ù" ¸Þ´º¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

±×·¸Áö ¾ÊÀ¸¸é, ÇÊÅÍ´Â Áö½ÃµÈ ¹®ÀÚ¿­À» »ç¿ëÇÏ°í ¶Ç ´ëÈ­»óÀÚÀÇ "ÆÄÀÏ À¯Çü" µå·Ó-´Ù¿î ¸®½ºÆ®¿¡ ¸ðµç ÆÄÀÏ (*.*)¿¡ ´ëÇÑ ¿É¼Çµµ Á¦°øÇÕ´Ï´Ù. ÇÊÅÍ¿¡ ¿©·¯ ÆÄÀÏ È®ÀåÀÚ¸¦ Æ÷ÇÔÇÏ·Á¸é À§¿¡¼­ ¿¹½ÃÇÑ ¹Ù¿Í °°ÀÌ »çÀ̸¦ ½Ö¹ÝÁ¡À¸·Î ºÐ¸®ÇϽʽÿÀ.

ErrorLevel

[v1.1.04+] ÀÌ ¸í·É¾î´Â ½ÇÆнà ¿¹¿Ü¸¦ ´øÁú ¼ö ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ½ÇÇà½Ã°£ ¿¡·¯¸¦ ÂüÁ¶ÇϽʽÿÀ.

ErrorLevelÀº »ç¿ëÀÚ°¡ ÆÄÀÏ ¼±ÅþøÀÌ ´ëÈ­»óÀÚ¸¦ Ãë¼ÒÇϸé (¿¹¸¦ µé¾î Ãë¼Ò ¹öÆ°À» ´©¸£¸é) 1ÀÌ ¼³Á¤µË´Ï´Ù. ½Ã½ºÅÛÀÌ ´ëÈ­»óÀÚ¸¦ º¸¿©Áֱ⸦ °ÅºÎÇÏ´Â °æ¿ì¿¡µµ 1ÀÌ ¼³Á¤µË´Ï´Ù (°ÅÀÇ ¾øÀ½). ±×·¸Áö ¾ÊÀ¸¸é, 0ÀÌ ¼³Á¤µË´Ï´Ù.

³íÆò

»ç¿ëÀÚ°¡ ¾Æ¹« °Íµµ ¼±ÅÃÇÏÁö ¾Ê¾Ò´Ù¸é (¿¹, CANCEL ´©¸§), OutputVar´Â ºñ¿öÁý´Ï´Ù.

´ÙÁß-¼±ÅÃÀÌ ²¨Á® ÀÖÀ¸¸é, OutputVarÀº »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ´ÜÀÏ ÆÄÀÏÀÇ Àüü °æ·Î¿Í À̸§ÀÌ ¼³Á¤µË´Ï´Ù.

M ¿É¼Ç (´ÙÁß-¼±ÅÃ)ÀÌ ÄÑÁ® ÀÖÀ¸¸é, OutputVar´Â Ç׸ñ ¸®½ºÆ®°¡ ¼³Á¤µË´Ï´Ù. ¸¶Áö¸·À» Á¦¿ÜÇÏ°í °¢ Ç׸ñÀº ¶óÀÎÇǵå (`n) ¹®ÀÚ·Î ³¡³³´Ï´Ù. ¸®½ºÆ®¿¡¼­ ù Ç׸ñÀº ¼±ÅÃµÈ ¸ðµç ÆÄÀÏÀ» ´ãÀº °æ·ÎÀÔ´Ï´Ù (ÀÌ °æ·Î´Â C:\¿Í °°ÀÌ ·çÆ® Æú´õÀÏ ¶§¸¸ ¿ª»ç¼±À¸·Î ³¡³³´Ï´Ù). ´Ù¸¥ Ç׸ñÀº ¼±ÅÃµÈ ÆÄÀÏÀ̸§µéÀÔ´Ï´Ù (°æ·Î ¾øÀ½). ¿¹¸¦ µé¾î:

C:\My Documents\New Folder [¾Æ·¡ÀÇ ¸ðµç ÆÄÀÏÀÌ °ÅÁÖÇÏ´Â °æ·ÎÀÔ´Ï´Ù]
test1.txt [¸Ç ÆÄÀÏÀ̸§ÀÔ´Ï´Ù: °æ·Î ¾øÀ½]
test2.txt
... etc.

(ÀÌ ÆäÀÌÁö ÇÏ´ÜÀÇ ¿¹Á¦¿¡¼­ ÀÌ ÆÄÀϵéÀ» Çϳª¾¿ ÃßÃâÇÏ´Â ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.)

´ÙÁß-¼±ÅÃÀÌ ÄÑÁ® ÀÖÀ¸¸é, ¼±ÅÃµÈ ÆÄÀÏ À̸§ÀÇ ±æÀÌÀÇ ÇÕÀº 64 KB·Î Á¦Çѵ˴ϴÙ. ÀÌ Á¤µµ¸é º¸Åë ¼ö õ °³ÀÇ ÆÄÀÏÀ» ´ãÀ» Á¤µµ·Î ÃæºÐÇÏÁö¸¸, ±× ÇѰ踦 ÃÊ°úÇϸé OutputVar´Â ºñ¿öÁý´Ï´Ù.

GUI âÀº Gui +OwnDialogs¸¦ »ç¿ëÇÏ¿© ¸ð´Þ ÆÄÀÏ-¼±Åà ´ëÈ­»óÀÚ¸¦ º¸¿©ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. ¸ð´Þ ´ëÈ­»óÀÚ´Â ³¡³¯ ¶§±îÁö »ç¿ëÀÚ°¡ GUI â°ú »óÈ£ÀÛ¿ëÇÏ´Â °ÍÀ» ¸·½À´Ï´Ù.

¾Ë·ÁÁø ÇÑ°è: FileSelectFile ´ëÈ­»óÀÚ¸¦ º¸¿©ÁÖ´Â µ¿¾È¿¡ ±âµ¿ÇÑ Å¸À̸Ӵ »ç¿ëÀÚ°¡ ´ëÈ­»óÀÚ ¾È¿¡ Ŭ¸¯ÇÑ °ÍÀ» ŸÀ̸Ӱ¡ ³¡³¯ ¶§±îÁö ¿¬±âÇÕ´Ï´Ù. À̸¦ ¿ìȸÇÏ·Á¸é, ³¡³ª´Âµ¥ ½Ã°£ÀÌ ¸¹ÀÌ °É¸®´Â ¼­ºê·çƾÀÇ Å¸À̸Ӹ¦ ÇÇÇϰųª, ¸ðµç ŸÀ̸Ӹ¦ ¸ð´Þ ´ëÈ­»óÀÚ¸¦ »ç¿ëÇÏ´Â µ¿¾È¿¡´Â ²ô½Ê½Ã¿À:

Thread, NoTimers
FileSelectFile, OutputVar
Thread, NoTimers, false

Æó±âµÈ ¿É¼Ç: v1.0.25.06+¿¡¼­ ´ÙÁß-¼±Åà ¿É¼Ç "4"´Â Æó±âµÇ¾ú½À´Ï´Ù. ±×·¸Áö¸¸, ¿¹Àü ½ºÅ©¸³Æ®¿ÍÀÇ È£È¯À» À§ÇØ, ¿©ÀüÈ÷ ¿¹Àü°ú °°ÀÌ ÀÛµ¿ÇÕ´Ï´Ù. ƯÈ÷, »ç¿ëÀÚ°¡ ¿ÀÁ÷ ÆÄÀÏÀ» Çϳª¸¸ ¼±ÅÃÇϸé, OutputVar¿¡ Àüü °æ·Î¿Í À̸§ ±×¸®°í ´ÙÀ½¿¡ ¶óÀÎÇÇµå ¹®ÀÚ(`n)°¡ ´ã±é´Ï´Ù. »ç¿ëÀÚ°¡ ¿©·¯ ÆÄÀÏÀ» ¼±ÅÃÇϸé, ±× Çü½ÄÀº À§¿¡ ±â¼úÇÑ M ¿É¼ÇÀ» »ç¿ëÇÑ °Í°ú °°½À´Ï´Ù. ´Ü, ¸¶Áö¸· Ç׸ñµµ ¿ª½Ã ¶óÀÎÇǵå·Î (`n) ³¡³ª´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù.

°ü·Ã Ç׸ñ

FileSelectFolder, MsgBox, InputBox, ToolTip, GUI, CLSID List, ÆÄ½Ì È¸µ¹ÀÌ, SplitPath

¶ÇÇÑ, ¿î¿µ üÁ¦´Â »ç¿ëÀÚ°¡ ±Û²ÃÀ̳ª »ö±ò, ¶Ç´Â ¾ÆÀÌÄÜÀ» ¼±ÅÃÇÒ ¼ö Àִ ǥÁØ ´ëÈ­»óÀÚ¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ·± ´ëÈ­»óÀÚ´Â DllCall()À» ÅëÇÏ¿© º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½¿¡ ¿¹½ÃÇÕ´Ï´Ù: www.autohotkey.com/forum/topic17230.html.

¿¹Á¦

FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt; *.doc)
if SelectedFile =
    MsgBox, »ç¿ëÀÚ°¡ ¾Æ¹« °Íµµ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
else
    MsgBox, »ç¿ëÀÚ°¡ ´ÙÀ½ ÆÄÀÏÀ» ¼±ÅÃÇß½À´Ï´Ù:`n%SelectedFile%


; CLSID ¿¹Á¦ (XP/2003 ÀÌÀü ÇÊ¿ä):
FileSelectFile, OutputVar,, ::{645ff040-5081-101b-9f08-00aa002f954e}  ; ÈÞÁöÅë.

; ´ÙÁß-¼±Åà ¿¹Á¦:
FileSelectFile, files, M3  ; M3 = ±âÁ¸ÀÇ ÆÄÀÏÀ» ´ÙÁß ¼±ÅÃÇÕ´Ï´Ù.
if files =
{
    MsgBox, »ç¿ëÀÚ°¡ Ãë¼Ò ¹öÆ°À» ´­·¶½À´Ï´Ù.
    return
}
Loop, parse, files, `n
{
    if a_index = 1
        MsgBox, ¼±ÅÃµÈ ÆÄÀÏÀº ¸ðµÎ  %A_LoopField% ¾È¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
    else
    {
        MsgBox, 4, , ´ÙÀ½ ÆÄÀÏÀº %A_LoopField%ÀÔ´Ï´Ù. °è¼ÓÇϽðڽÀ´Ï±î?
        IfMsgBox, No, break
    }
}
return