2018년 11월 7일 수요일

Excel VBA 파일(Book)의 모든 시트에 함수를 삭제하고 값만 남기기

외부로 파일 전달시 유용하다. (수식이 깨지거나 바뀌어서 값이 변동되는것 방지)

Sub MacroSaveValue()
With Application: .Calculation = 3: .ScreenUpdating = 0
On Error Resume Next: Dim w As Worksheet, v
For Each w In Sheets
v = w.UsedRange.Value: w.UsedRange = v
Next: Set w = Nothing: .Calculation = 1: End With

'MsgBox ("모든 시트의 내용을 Value(값)으로 저장 완료")
'MsgBox ("!저장할 때 수식을 잃어버리지 않도록 주의!")
End Sub


Excel VBA 특정 컬럼 명(1열) 만 남기고 삭제하기.

대량 작업시 유용...

Sub Delete_Cols_WithOut()

    Dim co As Long, I As Long
    Dim join As String

    co = ActiveSheet.Range("A1").CurrentRegion.Columns.Count '추가할 시트에 Cols count 를 알아옵니다
    
    Debug.Print ("#시트이름 : " + ActiveSheet.NAME)
    Debug.Print ("--컬럼 목록 시작")
    For I = 0 To co
        Cells(1, I + 1).Select
        join = Selection.Offset(0, 0) ' 비교할셀값 좌표
        Debug.Print (join)
    Next
    Debug.Print ("--컬럼 목록 끝")
    Debug.Print ("--------------------------------")

    Cells(1, 1).Select

    For I = 0 To co
        join = Selection.Offset(0, 0) ' 비교할셀값 좌표
        'Debug.Print (join)
    
            If join = "Key" Or join = "삭제할 시트명" Then
                Debug.Print ("찾음 : +" + join)
                Selection.Offset(0, 1).Select    
            Else
                Debug.Print ("삭제함 : -" + join)
                Selection.EntireColumn.Delete
    
            End If

    Next

End Sub

Excel VBA 시트마다 1셀 클릭으로 위치 초기화 하기

저장전에 해서 주면 다른 사람이 사용하기 좋다.
특별히 기능적인건 아님..

'1시트 1셀 클릭 초기화
Sub WorksheetLoop()

         Dim WS_Count As Integer
         Dim I As Integer
         WS_Count = ActiveWorkbook.Worksheets.Count

         For I = 1 To WS_Count

            Debug.Print ("시트 변경함 : " + ActiveWorkbook.Worksheets(I).NAME)
            ActiveWorkbook.Worksheets(I).Select
            Cells(1, 1).Select

         Next I

      End Sub

Excel VBA 해당 파일(Book)에서 돌면서 특정 시트 찾아서 지우기

특정 시트 찾아서 지우기
조금 고치면 여러 시트도 할 수 있다.
WS_NameFindKey 에 지정된 이름을 찾는다. (아래 코드는 ETC)

'폰트 생성과 관련된 시트 삭제
Sub RemoveFontSheet()

         Dim WS_Count As Integer
         Dim I As Integer
         
         Dim WS_Name As String
         Dim WS_NameFindKey As String

         WS_Count = ActiveWorkbook.Worksheets.Count
         Dim TargetEtc As Worksheet
         
' 루프를 돌면서 대상을 찾는다.
         WS_NameFindKey = "Etc"
         
         For I = 1 To WS_Count

            '시트 선택 후 초기화
            ActiveWorkbook.Worksheets(I).Select
            Cells(1, 1).Select
            
            Debug.Print ("현재시트 : +" + ActiveWorkbook.Worksheets(I).NAME)
            
            WS_Name = ActiveWorkbook.Worksheets(I).NAME
            
            If WS_Name = WS_NameFindKey Then
                Debug.Print ("시트 찾음 : +" + WS_Name)
                Set TargetEtc = ActiveWorkbook.Worksheets(I)
                
            End If
            
         Next I
         
        If TargetEtc Is Nothing Then
        Else
            TargetEtc.Delete
        End If

End Sub


Excel VBA 해당 시트의 모든 서식 지우기

엑셀 작업 하는게 많아져서 매크로 제작한 것 백업 겸 공유로 올림

Sub 서식지우기()

        Dim co As Long, I As Long
        Dim ro As Long, J As Long
        Dim join As String
        
        co = ActiveSheet.Range("A1").CurrentRegion.Columns.Count '추가할 시트에 Cols count 를 알아옵니다
        ro = ActiveSheet.Range("A1").CurrentRegion.rows.Count '추가할 시트에 Cols count 를 알아옵니다

    Debug.Print (co)
    Debug.Print (ro)

    Cells(1, 1).Select 'A1 부터 시작

    For I = 0 To co '진행
            join = Selection.Offset(0, 0) ' 비교할셀값 좌표
            Debug.Print (join) ' join 은 셀값
            Selection.EntireColumn.ClearFormats
            Selection.Offset(0, 1).Select
            
    Next
    
    For J = 0 To ro '진행
            join = Selection.Offset(0, 0) ' 비교할셀값 좌표
            Debug.Print (join) ' join 은 셀값
            Selection.EntireRow.ClearFormats
            Selection.Offset(1, 0).Select
            
    Next
    
End Sub

2018년 9월 27일 목요일

GIT SourceTree 이 커밋까지 브랜치를 초기화

GIT SourceTree 이 커밋까지 브랜치를 초기화

GIT 작업을 하다 보면 파일이 Conflict 나는 경우가 왕왕 있다.
소스 버전 관리가 다 그렇지..

GIT 은 SVN 과 다르게 Push Pull 을 해줘야 하는데

커밋은 했지만 Push를 할 수 없게 충돌난 경우 내 Push 를 버리는 방법이다.

SourceTree 기준으로 설명하면

1. 브랜치 선택
2. 그래프  화면에서 원하는 복귀지점 클릭
3. 복귀 지점에서 우클릭
4. 이 커밋까지 현재 브랜치를 초기화

누르면 3가지 메뉴가 뜨는데,
가장 아래 모두 초기화가 Hard Reset 이다.

내 데이터를 모두 깡그리 날리고 초기화 시키므로 주의가 요구되지만
꼬이는게 더 싫은 경우(보통 이게 더 문제긴 하다..)

이 옵션을 이용하면 초기화를 쉽게 할 수 있다.



2018년 8월 15일 수요일

벨로스터N으로 인제 스피디움 라이센스 따러 가기

인생 버킷리스트 한개 더 클리어.

아래 영상은 시청각교육 후 실시하는 실습시간을 촬영한 것...

첫 주행이라 많이 느리고 자세도 엉성하다.



https://www.youtube.com/watch?v=wsAqwP24Iqw&feature=youtu.be

2018년 7월 28일 토요일

벨로스터 JS N 출고

고민 끝에 벨로스터 N 쵸크화이트로 신차 첫 출고했다.

퍼포먼스팩
멀티미디어팩
컨비니언스팩
썬루프



2018년 7월 5일 목요일

현대 투스카니 fl2 조수석 썬바이저 교체하기

동승자가 종종 썬바이저의 거울을 찾을 때가 있는데 내 차에는 없으므로 diy 해보았다.

Gt 고급형부터는 보조석에 에어백과 거울이 모두 달려있는데, 내 차는 기본형이라 거울이 없다.

쉬울 줄 알고 가볍게 시작했는데 오래걸렸다. 
특히 커버를 분해하는데 고생했다.
커버가 연질 플라스틱이라 쉽게 벗겨질 줄 알았는데 한 30분 낑낑댄 끝에 제거했다.

플라스틱 주걱(헤라) 가 있었길래 망정이지
십자 드라이버만으로는 분리하기 어려웠다.

그 밑에는 검은 나사 세개가 있었고 쉽게 풀어낼 수 있었다.


나를 괴롭힌 썬바이저 고정 커버



신구 썬바이저 비교



새로 구입한 것에는 거울이 있다.



이것이 품번이다.



나사를 모두 풀러낸 상태




짠! 교체 완료

퇴근길 처음으로 맨발 운전 (양말) 을 해보았다. 에 대한 감상

운전이 취미이다 못해 요샌 좀 환자가 된 느낌인데...
여튼 퇴근길에 호기심이 미쳐 맨발로 운전을 했다.

참고로 내 차는 수동이다.
클러치 브레이크 엑셀의 감이 너무 달라졌다.
감각의 해상도가 넘치는 느낌.

발바닥 지압을 하다 못해 발바닥이 얼얼하다.
매일 오는 퇴근길인데 오늘은 왠지 힘들다;;;

남들은 맨발이 더 편하다던데 난 어색하기 때문인가

다 떨어진 드라이빙 슈즈를 새로 사는 것이 고민이었는데
그냥 편안한 운동화를 하나 사고
맨발로 몇일 더 적응해볼까 싶다.

2018년 5월 30일 수요일

NotePad++ 필수 플러그인 Json Viewer

노트패드++ 를 오래 써왔으면서 플러그인은 별 생각이 없었다.
팀에서 누군가가 무료 플러그인으로 Json 을 편하게 확인하는 것을 보고 띵..
적당히 검색하니 바로 나온다.

https://github.com/kapilratnani/JSON-Viewer/tree/master/NppJSONViewer

노트패드++에서 블럭지정을 한후 Ctrl + Alt + Shift + M 을 누르면 JSon 포맷을 보기 좋게 기입해준다.

Ctrl + Alt + shift + J 를 누르면 Viewer 윈도우에서 Tree 구조로 볼 수 있다.

미처 생각하지 못한 머리 덕분에 손이 고생했다. ㅠㅠ

제트스트림 퓨어몰트 멀티펜 MSXE5-2005-07

간만에 포스팅...
일이 바빠서 라는 뻔한 핑계로 최근에는 블로그가 뜸했다.
------------

새로이 일을 하다보니 이면지 혹은 연습장에 휘갈겨 적을 일이 많아졌다. (생각의 정리용)
회사에서 입사시 지급한 멀티볼펜 한자루를 쓰고 있었는데, 생각보다 막쓰기 편하고 좋더라. 그러던 어느날 망가졌다.

이참에 고급 멀티펜에 흥미가 생겨서구입해보았다.

 미쯔비시 UNI 볼펜 중 제트스트림 퓨어몰트가 멀티펜 3대장중 막내 역할을 하는 것 같더라. 약 2만원 정도..

샤프가 포함되어 있었기 때문에 볼펜치곤 조금 고가이지만 구입했다.


소감을 간단히 말하면,

맘에 드는 점 부터..
역시 제트스트림, 검/빨/파/초 볼펜이 슥슥 잘 그어진다. 필기 질감이 좋다.
적당히 세련된 코팅의 플라스틱 바디에 손이 닿는 부분에 퓨어몰트를 상징하는 나무 질감이 덧대어져있다.

아쉬운점은..
멀티펜 답게 쥐었을 때 좀 두꺼운 느낌이 불편하다.
샤프가 샤프심을 누르는 조작이 좀 불편하게 되어 있고 잘못 쥐면 샤프가 쑥 들어가버린다.


인생 최고가 볼펜이다.
오래 써야지...

2018년 3월 29일 목요일

엑셀 수식 -> 텍스트, 텍스트 -> 수식 팁

엑셀 수식을 텍스트로 만들 때는 함수로 간단히 된다.

=FORMULATEXT()

반대의 경우는 준비된 함수가 없기 때문에

모듈을 새로 추가하여 아래와 같이 커스텀 함수를 만들어 준다.

Function Eval(Ref As String)

Application.Volatile

Eval = Evaluate(Ref)

End Function


추가 한 후 아래커스텀 함수를 사용하면 된다.

=Eval()

윈도우 일본어 IME (Japanese IME) 사용 팁 (일본어 입력 전환 방법)

일본어 입력기 사용 방법 


일본어 입력기 전환 : (왼쪽) Alt + Shift (MS IME 에서 설정한 언어 전환 기능) 

[일본어 입력기 상태 일 때] 
  • 히라가나 모드 : (왼쪽) Ctrl + CapsLock 
  • 카타가나 모드 : (왼쪽) Alt + CapsLock 
  • 로마자 모드 : (왼쪽) Shift + Caps Lock 

[한자 입력 후보를 고를 때]
  • F5 확장 입력기 창 띄움 (부수 기준 찾기) 
  • F6 현재 후보를 무시하고 히라가나로 변환 
  • F7 현재 후보를 무시하고 카타가나로 변환 
  • F8 반각 카타카나
  • F9 전각 영문 
  • F10 입력 그대로 반각 영문으로 변환 

[특수 문자 입력] (특수 문자는 기본적으로 전각이기 때문에 주의할 것)
  • !: かんたんふ 
  • ?:はてな 
  • →:やじるし 
  • ★:ほし 
  • 〇:まる 
  • ※:こめ 

2018년 3월 28일 수요일

MS WORD 와일드카드 바꾸기 기초 예제



ms word 패턴으로 찾아 바꾸기

예문)
원문 : 캐릭터 이름은 ㅇㅇㅇ 입니다.
바꿀 문장 : 캐릭터의 이름은 ㅇㅇㅇ 일지도 모릅니다.

ㅇㅇㅇ 을 유지하고 "캐릭터 이름은" 과 "입니다." 를 바꾸고 싶습니다.

찾기 및 바꾸기 창에서 패턴 일치(와일드카드) 사용에 체크한 후
아래와 같이 입력 한다.

찾을 내용 : 캐릭터 이름은 (*) 입니다.
바꿀 내용 : 캐릭터의 이름은 \1 일지도 모릅니다.

() 식으로 묶는다.
* 전부다를 의미하는 와일드 카드
\1 은 첫번째

여러개가 있는 경우 \1 \2 이런식으로 사용할 수 있다.

참고 링크 : https://support.office.com/ko-kr/article/word-%EB%AC%B8%EC%84%9C%EC%97%90%EC%84%9C-%ED%85%8D%EC%8A%A4%ED%8A%B8%EC%99%80-%EA%B8%B0%ED%83%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B0%BE%EA%B8%B0-%EB%B0%8F-%EB%B0%94%EA%BE%B8%EA%B8%B0-c6728c16-469e-43cd-afe4-7708c6c779b7



2018년 3월 26일 월요일

유니티 리소스 폴더의 폰트 불러오기

코드 조각 기록

아래 폰트 경로에 존재하는 폰트 파일을 모두 불러와서 _lFontList 라는 리스트에 넣는다.
Assets/Recources/Fonts/



        UnityEngine.Object[] fileInfo = Resources.LoadAll("Fonts", typeof(Font));

        UnityEngine.Debug.LogWarning(fileInfo.Length);

        foreach (var file in fileInfo)
        {
            _lFontList.Add((Font)file);
        }

2018년 2월 13일 화요일

쉽게 만드는 UI 스크롤뷰

개인적으로 uGUI 의 사용을 늘리고 있다.
NGUI 는 널리 쓰이는 서드파티 에셋이지만, 안드/아이폰 이외의 작업에는 아무래도 호환성 문제가 생기고,
유니티 최신 엔진 업데이트시에 가끔 문제를 일으켰던 기억이 있기 때문이다.
예전에 안드로이드TV를 지원하게 만들다가, NGUI 는 KEY NAVIGATION 지원이 거의 전무하다 시피했던 기억이 난다.

개인 프로젝트는 최대한 uGUI 를 이용해서 만들고 있다.
SizeFitter 라든가 Layout 세팅 관련 컴포넌트 스크립트가 예상보다 많이 준비되어 있어서 간단히 만들 수 있다.

오늘 초보자인 어떤 분이 GUI 를 만들다가 힘들어서 질문을 해왔다.
조금 생각해보니 처음 만드는 사람이라면 확실히 어려울 수 있을거 같다는 생각이 들어서
따라하기 스타일로 아래에 Scroll View 만들기를 정리해보려고 한다.

--------------------------------------------------

아래와 같은 하단 좌우 스크롤뷰 UI를 만들어보자.


1. Unity 에서 Hierarchy 메뉴에 우클릭 > UI > Canvas 를 하나 만들어서 적당히 세팅해준다. (위치와 크기의 세팅 등)

2. Canvas에서 우클릭해서 UI > Scroll View 를 클릭해서 추가해준다.



3. 생성된 Scroll View 의 사이즈와 위치를 정리해준 후, Inspector 에 아래 내용대로 체크/언체크 해준다.


좌우로만 움직일 스크롤 뷰라서 Horizontal 만 체크한다.


4. 컨텐츠 오브젝트의 제어 콤포넌트 추가. (여기가 어렵다.)
Hierarchy 에 Content 를 선택해 보면 Rect Transform 이외에 아무런 컴포넌트가 없다.
여기에 필요한건 Child 오브젝트를 추가할 경우 "해당 오브젝트 들의 레이아웃 설정"과 "사이즈를 맞춰주는 기능"이 필요하다.
예전에는 직접 코드를 짰는데, 찾아보니 uGUI 에 이미 준비되어 있다.


5. Content 오브젝트에 컴포넌트를 추가한다. (제일 중요한 부분)
A. Horizontal Layout Group 이라는 컴포넌트
B. Content Size Fitter 라는 컴포넌트


COntent Size Fitter 에 Horizontal Fit 는 Preferred Size 로 맞춰준다.

5. Content 이하에 Button 오브젝트 등 필요한 오브젝트를 추가하여 늘어 놓는다.

6. Unity 의 플레이 버튼을 클릭하면 게임 씬에서 아래와 같이 조작이 가능하다.

좌우로 스크롤 해보면 원하는대로 스크롤이 가능!


<끝>

2018년 1월 25일 목요일

정규식 쉽게 만들고 확인하기 사이트 링크 2개

정규식은 유용하지만 만들 때 많이 번거롭다.
귀찮음을 덜어줄 수 있는 사이트를 2개 소개한다.

# 만들기
http://www.txt2re.com/  
텍스트를 분석해서 정규식으로 만들어준다.
사용법은 좀 클릭해보면 쉽게 알 수 있다. (정규식을 아예 모르면 조금 어려울지도)



# 확인하기
https://regexr.com/
만든 정규식으로 샘플 스트링으로 즉시 확인해볼 수 있다.
(예전부터 많이 사용하던 사이트 ^^;; )

2018년 1월 10일 수요일

웹캠 선택 관련 참고 글 (Logitech, MS LifeCam 등 게임 방송용 웹캠 선택하기)


웹캠 (화상캠, PC용 USB 카메라) 개발을 하면서 사용해본 캠들의 느낀 점을 대충 정리했다.
누군가 작업용, 방송용, 취미용으로 웹캠을 구매할 때 참고가 되시길..

-------------------------------
[Logitech 편]

C310 (씨삼일공)
보급형, 화면이 나온다. ㅋ
720 30프레임 지원

C920 (씨구이공)
가장 많이 팔린 스탠다드 웹캠, 이 모델을 기준으로 다양한 변종이 있다.
720 60프레임 1080 30프레임 지원

C922X Pro Stream Webcam (씨구이이엑스 프로 스트림 웹캠)
1080 MJPG 60프레임이 지원되는게 특징적으로 다르다.
생긴건 C920 과 동일
미니삼각대가 서비스로 들어있다.
크로마키천 없이 소프트웨어로 크로마키 해주는 기능이 있다고 하는데
사실 Chroma Cam 이라는 번들 소프트웨어 (심지어 체험판)를 껴주는 것이다.
이 소프트웨어를 이용하면 C920등 다른 캠에서도 가능..
C920 보다 10% 비싼 가격.

C930e (씨구삼공이)
SKYPE 화상회의용으로 개발됨
DirectShow 대응 드라이버로 개발이 되어 있으며,
방송용으로 쓰기에는 C920 보다 성능과 호환성이 떨어지는 느낌이다.
아니 잘라말해서 이걸 굳이 왜사야 하는지 모르겠다.
사지마세요. 숫자 높다고 좋은 모델 아닙니다.

BRIO 4K Pro (브리오 사케이 프로)
사용해보고 놀랬다.
동작 속도가 빠르고, 다양한 해상도 지원한다.
1080 MJPG 60프레임 지원해서 꽤 영상 딜레이도 적고 화질도 좋다.
1080 을 초과하는 해상도에서는 최대 30프레임이다.
얻어진 영상의 색감도 괜찮은 편, 윈도우 Hello 도 지원.
문제는 아직 비싼 가격 (정품 30만원 대, 리퍼 품 20만원 초반 대, 해외 직구 20만원 대)

-----------------------------
[Microsoft 편]

LifeCam HD-3000 (라이프캠 에이치디-삼천)
보급형, 화면이 나온다. ㅋ

LifeCam Studio (라이프캠 스튜디오)
720 1080 30프레임 이상 지원
저렴하고 화질 좋다.
DirectShow 대응 장비로 대체적으로 호환이 잘 된다.
Legacy 방식의 드라이버를 지원하지 않아서 윈7에서 사용이 어렵다. (구버전 빨간박스는 가능)
DirectShow 방식을 사용하면 윈7에서도 동작을 하긴 하는거 같은데... 음.
출시 당시에는 혁신적인 화질이었다고 하는데..
비용을 조금 더 보태서 C920 쪽을 더 추천하고 싶다.


[총평]
웹캠 중에서는 Logitech Brio 4K Pro 가 최고다. 성능도 가격도.

추천 순서 : 왼쪽이 좋은 순
Brio 4K Pro > C922 > C920 > LifeCam Studio > 미만 기타

자주 교체하는 장비가 아니니
한번에 끝판왕을 선택하는 편이 추가 비용이 들지 않아 좋을 것 같다.
내가 산다면 Brio, 그 외에는 사지 않겠다. 선물한다면 C922 무난하게 될거 다된다.
(C922 나 C920 은 사실 대동소이하다. -_-...)
게임에 PIP 로 조그맣게 얼굴을 넣어 방송 하고 싶으면 C920 사도 별로 차이 없을 것 같다.
하지만 미니삼각대 껴주니까 (소매 단가 5천원쯤하려나 이건...) C922!.

그나저나 세상이 좋아져서, 어지간한 보급형도 HD화질 (720) 이상을 지원하네 이젠..


<끝>

2018년 1월 9일 화요일

오늘 시각으로 파일 압축하여 네트워크 경로에 복사하는 배치파일 예제

말이 좋아서 예제지 내가 필요해서 하나 만든 것..
블로그에 올릴 수 있을 정도로만 대충 정리했으므로 가져가서 사용하실 분은 적당히 고쳐서 사용하시길..

# 동작 내용
FROMFOLDER 에서 파일을 TEMPFOLDER 로 복사하고, 이걸 TARGETFOLDER 로 오늘 날짜_시간.zip 파일 압축을 해서 복사해주는 배치파일

# 사용 방법
스크립트 안의 아래의 경로와 ID / PW 를 변경해서 실행하면 된다.

set TEMPFOLDER=C:\TEMP\

set FROMFOLDER=C:\CONTENTS
set TARGETFOLDER=C:\OUTPUT

set NETFOLDER=\\192.168.0.1\
set NETACCOUNT=아이디
set NETPASSWORD=비밀번호


:: 특정 폴더를 압축해서 시각 파일 이름으로 저장하기

@echo off
setlocal

:: 날짜 문자열을 년월일로 분해
set WEEK=%date:~0,1%
set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

:: 시간 문자열을 시분초로 분리
set HOUR=%time:~0,2%
set MINUTE=%time:~3,2%
set SECOND=%time:~6,2%

echo. 현재 빌드 시간 확인, 이 시간을 파일명 뒤에 붙입니다. YYYYMMDD_HHMMSS 의 포맷으로 붙인다. 1자리수의 HOUR 는 0이 아니라 공백으로 오기 때문에 띄어쓰기가 없도록 0으로 매꿔준다.
set TIMETEMP=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%
set TIMERESULT=%TIMETEMP: =0%
echo. %TIMERESULT%

:: 머징용 임시 폴더 제작
echo. 작업을 준비하는 중

:: 임시 작업 폴더 설정
set TEMPFOLDER=C:\TEMP\

if exist %TEMPFOLDER% (
        echo 임시 파일 폴더가 이미 작성되어 있습니다.
) else (
        echo 임시 파일 폴더를 생성합니다..
  MKDIR %TEMPFOLDER%
)

:: 파일 폴더에 복사해서 정리하기
set FROMFOLDER=C:\CONTENTS
set TARGETFOLDER=C:\OUTPUT

echo. 폴더 확인 중

if exist %FROMFOLDER% (
        echo 원본 폴더가 있습니다.
  
  if exist %TARGETFOLDER% (
  echo 대상폴더가 이미 있습니다.
  ) else (
   echo 대상폴더가 없어서 새로 만듭니다.
   MKDIR %TARGETFOLDER%
  )
) else (
        echo 원본 폴더가 없습니다. 작업을 중지합니다.
  goto ERROREND
)

pause

echo. 임시 경로로 파일 복사하는 중
Xcopy %FROMFOLDER% %TEMPFOLDER%

:: 출력될 파일 이름 설정 및 압축

echo. 임시 폴더로 부터 파일을 압축하는 중...

set OUTPUTFILENAME=%TIMERESULT%.zip
:: 반디집
"%programfiles%\Bandizip\Bandizip.exe" c -y %TARGETFOLDER%%OUTPUTFILENAME% %TEMPFOLDER%
:: 7집
::"%programfiles%\7-zip\7z.exe" a -y %TARGETFOLDER%%OUTPUTFILENAME% %TEMPFOLDER%

:: 네트워크 폴더에 복사
echo. 네트워크 폴더에 복사하는 중...
set NETFOLDER=\\192.168.0.1\
set NETACCOUNT=아이디
set NETPASSWORD=비밀번호

net use %NETFOLDER% NETPASSWORD /user:NETACCOUNT /persistent:no
copy %TARGETFOLDER%%OUTPUTFILENAME% %NETFOLDER%
if exist %NETFOLDER%%OUTPUTFILENAME% echo %OUTPUTFILENAME% 파일이 잘 복사된 것 같습니다.

echo. 네트워크 폴더 사용 목록을 제거 시도...
net use %NETFOLDER% /delete

:: 임시 폴더 삭제
echo. 임시 파일 삭제 중...
rmdir /s /q %TEMPFOLDER%

echo. 작업 완료! 오케이~
goto QUIT

:ERROREND
echo. 오류가 발생해서 작업을 종료합니다.
goto QUIT

:QUIT

endlocal
귀찮은 일은 컴퓨터에게 맡깁시다.

2018년 1월 4일 목요일

배치파일에 네트워크 엑세스 추가하기

아래와 같이 사용하면 된다.

net use \\네트워크경로 패스워드 /user:아이디 /persistent:no

persistent 는 네트워크 증명을 기록할 것인지 여부이다.

아래와 같은 예시 상황을 작성해본다.
네트워크 경로가 192.168.0.1\exam
아이디 Kpaper
패스워드 KpaperPassword

net use \\192.168.0.1\exam KpaperPassword /user:Kpaper /persistent:no

삭제 하고 싶은 경우에는 아래와 같다.

net use \\네트워크경로 /delete 

위의 예제라면

net use \\192.168.0.1\exam /delete

네트워크 파일 복사 등 귀찮은 작업이 반복될 경우 잘 활용해보자.