실은 간단한 것인데, 상용프로그램을 쓰는것 같아 작성하여 올려봅니다.
#include <File.au3>
Local $WorkDir = @ScriptDir, $szScriptName = "파일에 번호매기기"
Switch MsgBox(3, $szScriptName, StringFormat("이 폴더를 \n(%s)\n작업폴더로 지정하시겠습니까?", $WorkDir))
Case 6;OK
Case 7;Cancle
$WorkDir = FileSelectFolder($szScriptName, "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 0, $WorkDir)
If @error Then Exit
Case 5;IGNORE
Exit
EndSwitch
If StringRight($WorkDir, 1) <> "\" Then $WorkDir &= "\"
ConsoleWrite($WorkDir & @LF)
Local $sExt = InputBox($szScriptName, "순서를 넣을 파일의 확장자를 입력해 주세요" & @LF & "(*.txt)", "", "", 300, 130, -1, -1), $Temp
If @error Or $sExt = "" Then Exit
Local $sFName = InputBox($szScriptName, "파일명을 입력하세요" & "(지정파일명_번호.확장자) 형식입니다.", "", "", 300, 150, -1, -1)
If @error Or $sFName = "" Then Exit
_ReName($WorkDir, $sExt, $sFName)
Func _ReName($sDir, $sExt, $szFName)
Local $szExt = StringTrimLeft($sExt, StringInStr($sExt, ".", 0, -1) - 1)
Local $aFile = _FileListToArray($sDir, $sExt, 1), $FileFormat = "%s_%0" & StringLen($aFile[0]) & "d%s"
If Not @error Then
For $i = 1 To $aFile[0]
Local $szNewFile = StringFormat($FileFormat, $szFName, $i, $szExt)
ConsoleWrite(StringFormat("%4d\t%s\t\n->\t%s\n", $i, $aFile[$i], $szNewFile));>확인용
;FileMove($sDir & $aFile[$i], $sDir & $szNewFile);>파일명 바꿀때.
Next
EndIf
EndFunc
Local $WorkDir = @ScriptDir, $szScriptName = "파일에 번호매기기"
Switch MsgBox(3, $szScriptName, StringFormat("이 폴더를 \n(%s)\n작업폴더로 지정하시겠습니까?", $WorkDir))
Case 6;OK
Case 7;Cancle
$WorkDir = FileSelectFolder($szScriptName, "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 0, $WorkDir)
If @error Then Exit
Case 5;IGNORE
Exit
EndSwitch
If StringRight($WorkDir, 1) <> "\" Then $WorkDir &= "\"
ConsoleWrite($WorkDir & @LF)
Local $sExt = InputBox($szScriptName, "순서를 넣을 파일의 확장자를 입력해 주세요" & @LF & "(*.txt)", "", "", 300, 130, -1, -1), $Temp
If @error Or $sExt = "" Then Exit
Local $sFName = InputBox($szScriptName, "파일명을 입력하세요" & "(지정파일명_번호.확장자) 형식입니다.", "", "", 300, 150, -1, -1)
If @error Or $sFName = "" Then Exit
_ReName($WorkDir, $sExt, $sFName)
Func _ReName($sDir, $sExt, $szFName)
Local $szExt = StringTrimLeft($sExt, StringInStr($sExt, ".", 0, -1) - 1)
Local $aFile = _FileListToArray($sDir, $sExt, 1), $FileFormat = "%s_%0" & StringLen($aFile[0]) & "d%s"
If Not @error Then
For $i = 1 To $aFile[0]
Local $szNewFile = StringFormat($FileFormat, $szFName, $i, $szExt)
ConsoleWrite(StringFormat("%4d\t%s\t\n->\t%s\n", $i, $aFile[$i], $szNewFile));>확인용
;FileMove($sDir & $aFile[$i], $sDir & $szNewFile);>파일명 바꿀때.
Next
EndIf
EndFunc
ConsoleWrite 부분은 확인차 실행해 보시고,
FileMove는 파일명을 바꿀때 ; 를 제거하고 실행하면 실행하게 되겠습니다.
적절하게 수정해서 사용하시고, GUI는 작성하지 않았습니다.
별거 아닌데, 귀찮거든요.
'AutoIt Example' 카테고리의 다른 글
autoit-v3.3.10.0 (1) | 2013.12.28 |
---|---|
SoundPlay 함수이용 mp3재생기 만들기 (0) | 2011.02.14 |
한글의 변환 (2) | 2008.10.25 |
Autoit으로 트레이 런쳐 만들어 보기.. (11) | 2008.06.16 |
[예제] @GUI_DRAGFILE (0) | 2008.01.23 |