반응형 TechNical/WMI28 HTA] 특정 문자를 찾아서 배열에서 차례대로 매칭 시키기 일단 코드 전체를 함 보자. ☆ 첫번째 박스에 파라메터 넣고, 두번째 박스에 쿼리 넣고 밑에 버튼 클릭 ☆ 맹글어 주면 감사ㅋ 설명.. 이 프로그램의 목적은 동적쿼리와 파라메터를 좀 쉽게 매칭시켜 보자는 취지에서 비롯 되었다. 무슨 말인고 하니.. 파라메터로 1, 2, 3, 4 가 넘어 갔고 쿼리는 아래와 같이 나왔다고 하자. SELECT * FROM TABLE WHERE a = ? AND b IN (?, ?) AND c = ? 이렇게 있을 경우 파라메터와 쿼리를 매칭해서 실행가능한 쿼리를 뽑아내는데 목적이 있다. 그러면 이렇게 결과가 나와야 한다. SELECT * FROM TABLE WHERE a = '1' AND b IN ('2', '3') AND c = '4' 심플하다. ㅋ 간단하게 코드 설명. 핵.. 2010. 6. 11. WMI] 엑셀파일 가지고 장난치기 엑셀문서에서 뭔가 조합해서 뽑아내기 위해서 만들었던 건데.. 그냥 주석만 몇개 달고 그냥 올려 버리는거임... 정리해서 필요한거 몇줄만 올려야 되는데.. 귀차나 귀차나 ~ 캬아 캬아 간만에 포스팅질 ~ :D 3개월만인가 ;; Set objDialog = CreateObject("UserAccounts.CommonDialog") objDialog.Filter = "테이블 정의서|*.xls|All Files|*.*" objDialog.FilterIndex = 1 objDialog.InitialDir = "C:\" intResult = objDialog.ShowOpen If intResult = 0 Then Wscript.Quit Else targetFile = objDialog.FileName End If .. 2009. 8. 14. 폴더내 파일명 일부 몽땅 변경 특정 폴더를 선택하고 파일명 전체나 일부를 모두 변경하는 WMI 스크립트입니다. 이렇게 해야 할 경우도 있더군요. 뭐.. 어쨌거나... 대소문자 구분이 좀 이상하네요..-_- 될 때도 있고 안될 때도 있고.... 사실.. 파일내에 문자까지도 치환했는데.. 이상하게.. 중복되어서 되는 그지 같은 현상이 발생되서 뺐습니다. 한... 80% 부족한 것 같은 느낌이... -_ㅠ [File_name_change.vbs] '폴더 선택 Const MY_COMPUTER = &H11& Const WINDOW_HANDLE = 0 Const OPTIONS = 0 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(MY_COMP.. 2008. 4. 1. WMI] 다이얼로그 박스를 띄워서 폴더 경로 선택하기 이번에는 뭔가 비쥬얼한걸 해 보도록 하겠습니다. 맨날 텍스트만 보여주니 지루하기도 하구요. -_-a 예쁜 다이얼로그 박스를 띄워 봅시다~ 뭐.. 어차피 윈도우에서 제공하는 객체를 이용하므로 그냥 끌어다가 쓰기만 하면 됩니다. ㅎㅎ 사용자에게 폴더 경로를 선택하게 할 때는 이래저래 방법이 있겠지만 다이얼로그 박스를 띄워서 마우스 클릭질로 하는게 편리하고 정확한 경로를 지정할 수 있게 하겠지요. 한번에 반복적으로 작업을 해야 한다면 텍스트 입력박스를 띄우는게 편리하겠지만 한번씩 쓰는 것이라면 경로 트리가 보기좋게 뜨는 다이얼로그 박스가 좋을 것 같습니다. [Select_Folder.vbs] Const MY_COMPUTER = &H11& Const WINDOW_HANDLE = 0 Const OPTIONS = .. 2008. 3. 12. WMI를 이용해서 이메일 날리기 오랜만에 WMI관련 포스팅이군요.. 요즘에는 만사가 귀찮답니다 -_ㅠ WMI에서 e-mail도 날릴 수 있습니다!! 놀랬져 ㅎㅎ 코드는 상당히 간단합니다. CDO 오브젝트를 가져와서 그냥 이용하기만 하면 되지요. [Send_Mail.vbs] Set objMessage = CreateObject("CDO.Message") objMessage.Subject = "Example CDO Message" objMessage.From = "keiz@email.com" objMessage.To = "keiz@email.com;keiz2@email.com" objMessage.TextBody = "WMI Test Mail :D" objMessage.Send 보시면 아시겠지만 From,To,TextBody 라는 단어에서.. 2008. 3. 12. WMI를 이용해서 빈 폴더 찾아 내기 WMI를 이용해서 폴더내에 내용이 없는 껍대기만 있는 폴더, 즉 빈 폴더를 찾아 보도록 하겠습니다. (말이 좀 어렵다 -_-;;;) 여기서 찾는 비었있는 폴더의 기준은 파일의 존재 여부와 상관없이 폴더의 사이즈가 0 인 것을 말 합니다. 예를 들어서 0바이트 짜리 텍스트 문서가 폴더 내에 존재 한다고 해서 이 폴더가 비어있는 폴더에서 제외되는 것은 아닙니다. 파일이 존재 하지만 사이즈가 0 이면 폴더 사이즈도 0 인 것입니다. 코드 보겠습니다~ 짧아서 좋습니다. ㅎㅎ [ FIND_EMPTY_FOLDER.VBS ] On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") ShowSubFolders FSO.GetFolder("D:\".. 2008. 2. 27. WMI로 디스크 사이즈 알아내기 이번에는 WMI로 디스크 사이즈를 알아 보기로 하겠습니다. 각설하고 바로 코드 들어 갑니다. [ Disk_Size.vbs ] On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where DriveType=3",,48) For Each objItem in colItems Wscript.Echo "DeviceID: " & objItem.DeviceID ' Wscript.Echo "Name: " & objItem.Name ' Wsc.. 2008. 2. 25. WMI로 파일 삭제 WMI는 윈도우에서 할 수 있는 대부분의 기능을 수행할 수 있습니다. 여기서는 간단하게 파일을 지우는걸 보여 드리겠지만 응용하면 다양하게 써 먹을 수 있겠져~ [ Del_File.vbs ] strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colFileList = objWMIService.ExecQuery _ ("ASSOCIATORS OF {Win32_Directory.Name='C:\kei'} Where " _ & "ResultClass = CIM_DataFile") For Each objFile In colFileList If InStr(objFile.FileName,"delet.. 2008. 2. 25. MSSQL 파일 크기 출력 MSSQL 파일 사용량을 조사 할때 EM에서 봐도 되고 쿼리분석기를 띄워서 쿼리문을 날려서 파일크기를 출력 할 수도 있지만 WMI를 이용하여 간단하게 요렇게 출력 할 수도 있습니다. 출력되는 내용은 요렇게 되겠습니다. - DB명 - 데이터파일 크기 - 로그파일 크기 - 로그파일 사용중인 크기 - 로그파일 사용 % 안타깝게도... 데이터파일이 사용중인 공간은 나오지 않습니다... 안 되는건지.. 제가 모르는지는 모르겠지만요 ㅎㅎ [ DB_DISK.VBS ] On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIServic.. 2008. 2. 20. WMI로 간단한 시스템 정보 확인! WMI를 이용해서 간단한 시스템 정보를 확인 할 수가 있습니다! 서버를 다루다 보면 이러한 시스템 정보가 필요 할 때가 있지요. 여기에 나온 것 보다 훨씬 많은 정보를 추출해 낼 수가 있지만~ 운영하면서 이건 필요하겠다 싶은 것만 추려서 만들어 봤습니다. 간단히 이런 것들만 뽑아 보십시다~ - 벤더명 - 모델 타입 - 씨리얼 번호 - 시스템 이름 - 모델명 - 메모리 사이즈 - OS 명 - OS 버전 - 서비스 팩 버전 참고로... 개인 컴퓨타에서 돌리면.. 뭐 벤더명,씨리얼 번호.. 이런게 나올려나 모르겠네요.. 아... 그리구 HP인가.. IBM인가... 둘 중에 하나가 이거로는 씨리얼 번호를 안 가르쳐 줍니다. 아무튼~ 아래는 스크립트 코드 입니다 ^-^ [System_INFO.vbs] strCom.. 2008. 1. 30. WMI의 기초적인 저장 방법과 실행, 사용법 윈도우 시스템을 관리하다보면 WMI가 필요하게 되는 때가 있습니다. WMI를 이용하여 엄청나게 다양한 작업을 할 수가 있습니다. 어떤 작업에 대해 자동화를 한다든가... 시스템 정보를 얻어 오거나 텍스트 파일을 조작 할 수도 있습니다. 심지어 엑셀까지도 조작할 수 있죠 :) WMI사용과 관해서는 기타 웹에 많은 자료들을 참고 하시구요 저는 가장 기본이 되는!!! 바로 써먹을 수 있는 스크립트 저장 방법과 실행 방법을 이번 포스트에 기재 하고자 합니다. 1. 스크립트는 메모장을 이용해서 제작 할 수 있습니다. 메모장을 이용해서 스크립트를 작성 한 후 "파일명.vbs" 로 저장 합니다. 파일을 저장한 경로를 기억해 두십시오. 케이는 귀차니즘의 대가이므로 C:\ 에다가 바로 저장해 버리고 나중에 옮깁니다 -_.. 2008. 1. 16. CPU 사용량 수집하는 세가지 방법 WMI로 CPU 사용량 수집하는 세가지 방법 1. 요건 실행 당시 CPU를 꽤나 많이 잡아 먹지만 그 당시의 CPU 사용량을 가장 정확히 나타낸다. (수집할 때 요거 때문에 사용되는 CPU 로드는 제외하고 수집한다.) Set procset = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & "." & _ "\root\cimv2").InstancesOf ("Win32_Processor") for each System in ProcSet Wscript.echo system.LoadPercentage Next 2. 윈도우 2003 & XP 에서만 된다.(2000은 안 됨) 순간을 잡아내는 정확도는 떨어지나...... 나름 쓸만하다. For 문을 사용해서.. 2008. 1. 8. 이전 1 2 3 다음 반응형