[출처:http://autohotkey.co.kr/b/1-460]
setformat, float, 3.2
fileselectfolder, drive, ,0,백업할 폴더를 선택하세요^^
stringlen, len, drive ;뒤에 루프에서 하위 폴더명을 획득하기 위함
include=1 ;하위 폴더의 포함 여부를 선택하려면 위의 구문을 사용
filecreatedir,backup ;백업 폴더를 변경할 수 있도록 하려면 위 구문을 사용
newfolder=backup
;파일 갯수와 용량 겟
size=0
loop, %drive%*.*, 0, 0 ;기본폴더
{
count++
size:=size+A_loopfilesizeKB
}
if include=1
{
loop, %drive%*.*, 2, 1 ;폴더검색
{
stringtrimleft, taskfolder, A_loopfilefullpath, %len%
loop, %drive%%taskfolder%*.*, 0, 0
{
count++
size:=size+A_loopfilesizeKB
}
}
}
total=%count% ;전체 파일 수
;파일 갯수를 토대로 퍼센트로 구현합니다.
;용량으로 정확한 퍼센트를 구하려고 했는데 안되네요^^
;용량부분은 삭제하지 않고 남겨두었으니..보완에 도전해 보실 분?ㅎ
loop, %drive%*.*, 0, 0 ;기본 폴더 복사
{
settimer,timer,1000 ;얘는..traytip으로 얼만큼 복사되었는지 보여주라고 만들었습니다^^
filecopy, %A_loopfilefullpath%, %newfolder%\%A_loopfilename%, 0
size:=size-A_loopfilesizeKB
count--
}
/*
이부분 막막했는데 의외로 쉽게 풀렸는데요...최대한 쉽게 설명해볼께요^^
한 줄 요약으로
폴더를 검색해서 풀패스에서 작업할 폴더명만 빼온 뒤에,
그 폴더를 백업 폴더에 만들고 파일을 옮깁니다.
이 작업을 루프문으로 반복하죠^^
*/
if include=1 ;하위폴더를 백업하기로 선택한 경우
{
loop, %drive%*.*, 2, 1 ;폴더검색
{
stringtrimleft, taskfolder, A_loopfilefullpath, %len% ;작업할 폴더명만 남습니다.
filecreatedir, %A_workingdir%\%newfolder%\%taskfolder% ;백업 폴더에 같은 폴더 생성
loop, %drive%%taskfolder%*.*, 0, 0 ;원본 데이터들을
{
filecopy, %A_loopfilefullpath%, %newfolder%\%taskfolder%, 0 ;백업해라..는 얘깁니다..
count--
per:=(1-count/total)*100
}
}
}
sleep,1000
settimer,timer,off
msgbox, 백업 완료!
timer:
if (temp=0)
traytip, %per%`%, 파일 백업 중...
else if (temp=1)
traytip, %per%`%, 파일 백업 중.
else if (temp=2)
traytip, %per%`%, 파일 백업 중..
temp++
if temp>2
temp=0
return
2016. 3. 9.
2016. 3. 4.
네이버 첨부파일 관련정보 얻기
스크립트에 대한 설명:
blogID에 블로그 아이디를 쓰고
logno에 게시글 번호를 쓰세요.
만약 게시글주소가 http://blog.naver.com/asdfg/12345678 이라면
blogid=asdfg
logno=12345678
이런식으로요.
+첨부파일 갯수는 제한이 없는것같아요.
----- 스크립트 내용 -----
#SingleInstance Force
blogid= ;블로그아이디
logno= ;게시글 번호
url=http://blog.naver.com/PostView.nhn?blogId=%blogid%&logNo=%logno%
urldownloadtofile,%url%,temp.txt
fileread,temp,temp.txt
filedelete,temp.txt
StringReplace,temp,temp,`n,+,a
StringReplace,temp,temp,`r,+,a
loop
{
num++
dummy:=RegExMatch(temp,"encodedAttachFileName': '.*?'`,'encodedAttachFileNameByTruncate",FileName%num%)
if dummy = 0
break
StringTrimLeft,FileName%num%,FileName%num%,25
StringTrimRight,FileName%num%,FileName%num%,34
dummy:=RegExMatch(temp,"http://mfiles.naver.net/.*?'licenseyn': '",FileURL%num%)
StringTrimRight,FileURL%num%,FileURL%num%,16
StringTrimLeft,temp,temp,%dummy%
}
num--
Gui +Resize
Gui,Add,Text,,총 파일 개수 : %num%
Gui, Add, ListView, r5 w700 gCopy vcopy, 파일명|URL
loop, % num
LV_Add("", FileName%A_Index%, FileURL%A_Index%)
LV_ModifyCol()
Gui,Show
return
Copy:
If A_GuiEvent = DoubleClick
{
LV_GetText(내용, A_EventInfo,2)
Clipboard := 내용
ToolTip,링크가 복사되었습니다.
SetTimer,tooltipremove,500
}
return
tooltipremove:
tooltip
settimer,tooltipremove,off
return
GuiSize:
if A_EventInfo = 1
return
GuiControl, Move, copy, % "W" . (A_GuiWidth - 20) . " H" . (A_GuiHeight - 40)
return
GuiClose:
Exitapp
[출처:http://autohotkey.co.kr/b/1-1713]
blogID에 블로그 아이디를 쓰고
logno에 게시글 번호를 쓰세요.
만약 게시글주소가 http://blog.naver.com/asdfg/12345678 이라면
blogid=asdfg
logno=12345678
이런식으로요.
+첨부파일 갯수는 제한이 없는것같아요.
----- 스크립트 내용 -----
#SingleInstance Force
blogid= ;블로그아이디
logno= ;게시글 번호
url=http://blog.naver.com/PostView.nhn?blogId=%blogid%&logNo=%logno%
urldownloadtofile,%url%,temp.txt
fileread,temp,temp.txt
filedelete,temp.txt
StringReplace,temp,temp,`n,+,a
StringReplace,temp,temp,`r,+,a
loop
{
num++
dummy:=RegExMatch(temp,"encodedAttachFileName': '.*?'`,'encodedAttachFileNameByTruncate",FileName%num%)
if dummy = 0
break
StringTrimLeft,FileName%num%,FileName%num%,25
StringTrimRight,FileName%num%,FileName%num%,34
dummy:=RegExMatch(temp,"http://mfiles.naver.net/.*?'licenseyn': '",FileURL%num%)
StringTrimRight,FileURL%num%,FileURL%num%,16
StringTrimLeft,temp,temp,%dummy%
}
num--
Gui +Resize
Gui,Add,Text,,총 파일 개수 : %num%
Gui, Add, ListView, r5 w700 gCopy vcopy, 파일명|URL
loop, % num
LV_Add("", FileName%A_Index%, FileURL%A_Index%)
LV_ModifyCol()
Gui,Show
return
Copy:
If A_GuiEvent = DoubleClick
{
LV_GetText(내용, A_EventInfo,2)
Clipboard := 내용
ToolTip,링크가 복사되었습니다.
SetTimer,tooltipremove,500
}
return
tooltipremove:
tooltip
settimer,tooltipremove,off
return
GuiSize:
if A_EventInfo = 1
return
GuiControl, Move, copy, % "W" . (A_GuiWidth - 20) . " H" . (A_GuiHeight - 40)
return
GuiClose:
Exitapp
[출처:http://autohotkey.co.kr/b/1-1713]
자기 자신을 삭제하는 깔끔한 스크립트
스크립트에 대한 설명:
스크립트에 저 부분을 추가하시면 됩니다.
특정드라이브를 설정하지않으면 전체검색이 되기때문에
프로그램이 먼저 종료된 후에 cmd에서 찾아서 지워버리기때문에 정상 작동합니다.
특정드라이브를 지정해도 상관없습니다. 바로 코앞에(c:스크립트파일.exe가 아닌이상..) 있지 않는이상
--------------------------------------------- 스크립트 내용 ---------------------------------------------
Run, %comspec% /c del 자신의 스크립트파일.exe /q /f /s,, hide
exitapp
[출처:http://autohotkey.co.kr/b/1-1610] mauver님 공유 스크립트
스크립트에 저 부분을 추가하시면 됩니다.
특정드라이브를 설정하지않으면 전체검색이 되기때문에
프로그램이 먼저 종료된 후에 cmd에서 찾아서 지워버리기때문에 정상 작동합니다.
특정드라이브를 지정해도 상관없습니다. 바로 코앞에(c:스크립트파일.exe가 아닌이상..) 있지 않는이상
--------------------------------------------- 스크립트 내용 ---------------------------------------------
Run, %comspec% /c del 자신의 스크립트파일.exe /q /f /s,, hide
exitapp
[출처:http://autohotkey.co.kr/b/1-1610] mauver님 공유 스크립트
2016. 2. 19.
File 관련 명령어들
< * FIle 과 관련된 가장 기본적인 명령어 모음입니다 >
FileAppend
FileCopy
FileCopyDir
FileCreateDir
FileCreateShortcut
FileDelete
FileInstall
FileGetAttrib
FileGetShortcut
FileGetSize
FileGetTime
FileGetVersion
FileMove
FileMoveDir
FileRead
FileReadLine
FileRecycle
FileRecycleEmpty
FileRemoveDir
FileSelectFile
FileSelectFolder
FileSetAttrib
FileSetTime
파일에 텍스트를 덧붙임
파일 복사
폴더와 폴더안의 파일 전부 복사
폴더 새로만들기
링크파일 만들기
파일 삭제
컴파일된 스크립트에 지정 파일을 포함
파일이나 폴더의 속성 알아내기
링크 파일에 대한 정보 알아내기
파일의 크기 알아내기
파일이나 폴더의 타임스탬프 정보 가져오기
파일의 버전정보 가져오기
파일 이동/이름변경
폴더 이동/이름변경
파일 내용 전부 읽어오기
파일의 특정 라인 읽어오기
파일 지우거나 휴지통으로 보내기
휴지통 비우기
폴더 지우기
파일 선택하는 표준 다이얼로그 띄우기
폴더 선택하는 표준 다이얼로그 띄우기
파일/폴더의 속성 바꾸기
파일, 폴더의 타임스탬프 정보 바꾸기
--------------------------------------------------------------------------------------------------------------
FileAppend
명령어 : FileAppend [, Text, Filename]
설 명 :파일에 텍스트를 덧붙임
FileCopy
명령어 : FileCopy, SourcePattern, DestPattern [, Flag]
설 명 :파일 복사
FileCopyDir
명령어 : FileCopyDir, Source, Dest [, Flag]
설 명 :폴더와 폴더안 파일 전부 복사
FileCreateDir
명령어 : FileCreateDir, DirName
설 명 :폴더 새로만들기
FileCreateShortcut
명령어 :
FileCreateShortcut, Target, LinkFile [, WorkingDir, Args, Description, IconFile, ShortcutKey, IconNumber, RunState]
설 명 :링크파일 만들기
FileDelete
명령어 : FileDelete, FilePattern
설 명 :파일 삭제
FileExist
명령어 : FileExist("FilePattern")
설 명 :파일의 존재 유무 알아내기
FileInstall
명령어 : FileInstall, Source, Dest [, Flag]
설 명 :컴파일된 스크립트에 지정 파일을 포함
FileGetAttrib
명령어 : FileGetAttrib, OutputVar [, Filename]
설 명 :파일이나 폴더의 속성 알아내기
FileGetShortcut
명령어 :
FileGetShortcut, LinkFile [, OutTarget, OutDir, OutArgs, OutDescription, OutIcon, OutIconNum, OutRunState]
설 명 :링크 파일에 대한 정보 알아내기
FileGetSize
명령어 : FileGetSize, OutputVar [, Filename, Units]
설 명 :파일의 크기 알아내기
FileGetTime
명령어 : FileGetTime, OutputVar [, Filename, WhichTime]
설 명 :파일이나 폴더의 타임스탬프 정보 가져오기
FileGetVersion
명령어 : FileGetVersion, OutputVar [, Filename]
설 명 :파일의 버전정보 가져오기
FileMove
명령어 : FileMove, SourcePattern, DestPattern [, Flag]
설 명 :파일 이동/이름변경
FileMoveDir
명령어 : FileMoveDir, Source, Dest [, Flag]
설 명 :폴더 이동/이름변경
FileRead
명령어 : FileRead, OutputVar, Filename
설 명 :파일 내용 전부 읽어오기
FileReadLine
명령어 : FileReadLine, OutputVar, Filename, LineNum
설 명 :파일의 특정 라인 읽어오기
FileRecycle
명령어 : FileRecycle, FilePattern
설 명 :파일 지우거나 휴지통으로 보내기
FileRecycleEmpty
명령어 : FileRecycleEmpty [, DriveLetter]
설 명 :휴지통 비우기
FileRemoveDir
명령어 : FileRemoveDir, DirName [, Recurse]
설 명 :폴더 지우기
FileSelectFile
명령어 : FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]
설 명 :파일 선택하는 표준 다이얼로그 띄우기
FileSelectFolder
명령어 : FileSelectFolder, OutputVar [, StartingFolder, Options, Prompt]
설 명 :폴더 선택하는 표준 다이얼로그 띄우기
FileSetAttrib
명령어 : FileSetAttrib, Attributes [, FilePattern, OperateOnFolders, Recurse]
설 명 :파일/폴더의 속성 바꾸기
FileSetTime
명령어 : FileSetTime [, YYYYMMDDHH24MISS, FilePattern, WhichTime, OperateOnFolders, Recurse]
설 명 :파일, 폴더의 타임스탬프 정보 바꾸기
2016. 2. 16.
로그(log) 파일 만들기
;로그가 저장될 디렉토리를 설정. 같은 폴더 내에 log 폴더로 지정함.
log_path = log\log.txt
;메모장 log.txt에 월, 일, 시, 분, 초, 지정 문장 순으로 추가작성됨.
log_up(msg){
global log_path
FileAppend, [%A_Mon%/%A_Mday% %A_Hour%:%A_Min%:%A_Sec%][%msg%]`n, %log_path%
}
Home::
{
FileCreateDir, log
;log 폴더가 없으면 생성.
log_up("로그를 남깁니다.")
;메모장에 작성.
}
피드 구독하기:
글 (Atom)