Tip/Windows2025. 11. 8. 00:21
# dir/b | utf | awk -f C:\WORK\UTIL\AWK\make_folder.awk -v HEAD=%1 | utf -kr > r.bat
# r.bat 

BEGIN {
    if (HEAD == "") {
        HEAD = "GBA_"
    }
    alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    for (i = 1; i <= length(alphabet); i++) {
        first = substr(alphabet, i, 1)
        folder[first] = 0
    } 
}
{
    if ($0 ~ /\.awk/) { 
        print "REM SKIP AWK FILE: " $0
        next 
    }

    if ($0 ~ /r\.bat/) { 
        print "REM SKIP TEMP BAT FILE: " $0
        next 
    }

    # 1. 파일명 전체를 변수에 저장
    file_name = $0;
    
    # 2. 파일명의 첫 글자를 추출하고 대문자로 변환
    # Windows 파일 시스템은 대소문자를 구분하지 않지만, 폴더명을 일관되게 대문자로 만듭니다.
    first_char = toupper(substr(file_name, 1, 1));

    # 3. 첫 글자가 영문 대문자(A-Z)인지 확인
    if (first_char ~ /^[A-Z]$/) {
        
        if (folder[first_char] == 0) {
           # 4. 대상 폴더 생성 명령 실행 (move 명령어 실행 전에 폴더가 없으면 오류 발생)
           print "mkdir " HEAD first_char;
        }
        folder[first_char]++
        
        # 5. 파일 이동 명령 실행
        # 파일명에 공백이 있을 수 있으므로 큰따옴표(\")로 감싸줍니다.
        # Windows의 move 명령어 구문을 사용합니다.
        print "move \"" file_name "\" " HEAD first_char "\\";
    } else {
        # 6. A-Z로 시작하지 않는 파일 처리
    }
}
END {
    for (i = 1; i <= length(alphabet); i++) {
        first = substr(alphabet, i, 1)
        if (folder[first] > 0) {
            print "REM " HEAD first " : "folder[first]
        }
    } 
}
Posted by chobocho
Tip/Windows2025. 9. 30. 01:40
package main

import (
	"fmt"
	"io"
	"os"

	"golang.org/x/text/encoding/korean"
	"golang.org/x/text/transform"
)

func main() {
	if len(os.Args) < 2 {
		// 표준 입력(stdin)에서 euc-kr로 인코딩된 데이터를 읽습니다.
		eucKrReader := transform.NewReader(os.Stdin, korean.EUCKR.NewDecoder())

		// euc-krReader에서 읽은 데이터를 utf-8로 변환하여 표준 출력(stdout)에 씁니다.
		_, err := io.Copy(os.Stdout, eucKrReader)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Error: %v\n", err)
			os.Exit(1)
		}
	} else if len(os.Args) == 2 && os.Args[1] == "-kr" {
		// 표준 출력(stdout)을 EUC-KR 인코더로 래핑합니다.
		eucKrWriter := transform.NewWriter(os.Stdout, korean.EUCKR.NewEncoder())

		// 표준 입력(stdin)에서 읽은 UTF-8 데이터를 EUC-KR로 변환하여 씁니다.
		_, err := io.Copy(eucKrWriter, os.Stdin)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Error: %v\n", err)
			os.Exit(1)
		}
	} else {
		print("Chobocho's EUC-KR to UTF-8 Converter V0.2\n" +
			"Usage: utf.exe < euc_kr_file.txt\n" +
			"       utf.exe -kr > euc_kr_file.txt\n")
	}
}
Posted by chobocho
Tip/Windows2025. 9. 13. 11:42

진짜 포장만 뜯고 안 쓴 노트북인지 확인하는 방법

부팅해서 cmd창 열고 위 명령어 넣으면 됨

생성된 파일 battery-report.html을 열어보면 아래와 같이 배터리 충방전 이력이 표시됨

Posted by chobocho
Tip/Windows2024. 11. 13. 22:06

제어판에서 프로그램 삭제를 했는데도, 시작 프로그램에 찌꺼기가 남아 있는 경우가 있다.

이럴 땐 다음과 같이 아래 폴더로 가서, 그 프로그램 바로가기 파일을 지우면 된다.

C:\Users\[사용자계정]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

Posted by chobocho
Tip/Windows2023. 9. 22. 01:02

 C#을 배우면서 간단한 이미지 뷰어를 만들어 보았다.

기능:

 Drag & Drop 

R / L  키로 이미지 회전

Left, Right 화살표 키로 이미지 전환 (같은 폴더내)

Up 화살표키: 첫번째 이미지 (알파벳 순)

Down 화살표키: 마지막 이미지 (알파벳 순)

 

전체 소스코드:

https://github.com/chobocho/choboImageViewer

 

GitHub - chobocho/choboImageViewer: Simple image view by c#

Simple image view by c#. Contribute to chobocho/choboImageViewer development by creating an account on GitHub.

github.com

 

실행파일:

- 경고: 사용시 발생하는 어떤 이슈도 책임 지지 않습니다.

ImageViewer_32bit.zip
0.16MB

구현 관련

1. 메모리릭 이슈

-  PictureBox 에 이미지를 바꿀 때에는 반드시, dispose() 메서드 호출 후 null을 대입해야 한다.

            if (pictureBox.BackgroundImage != null)
            {
                pictureBox.BackgroundImage.Dispose();
                pictureBox.BackgroundImage = null;
            }

2. 파일을 읽어서, 파일이 위치한 폴더의 모든 이미지 파일 읽기. (Chat GPT 형님의 도움을 받았다)

    public void setFileName(string? filename)
    {
        if (filename == null || !File.Exists(filename)) return;
        string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".gif", ".bmp", "ico" }; 
        
        // 이 부분 입니다.
        _filesList = Directory.GetFiles(Path.GetDirectoryName(@filename) ?? string.Empty)
            .Where(file => imageExtensions.Contains(Path.GetExtension(file).ToLower()))
            .Select(Path.GetFullPath).ToArray();

        Array.Sort(_filesList);
        _index = Array.IndexOf(_filesList, filename);
    }

3. 이미지 회전

- 여기서는 dispose() 메서드 호출 하지 않는다. 호출 하면 이미지 객체가 삭제된다.

- 마지막에 pictureBox.Refresh() 메소드를 꼭 호출해 주어야 회전한 이미지로 업데이트 된다.

        void rotateImage(System.Drawing.RotateFlipType angle)
        {
            var LoadedImage = pictureBox.BackgroundImage;
            LoadedImage.RotateFlip(angle);

            pictureBox.BackgroundImage = LoadedImage;

            var width = LoadedImage.Width > minimumSize ? LoadedImage.Width : minimumSize;
            width = LoadedImage.Width > maximumSize ? maximumSize : width;

            var height = LoadedImage.Height > minimumSize ? LoadedImage.Height : minimumSize;
            height = LoadedImage.Height > maximumSize ? maximumSize : height;

            this.Width = width;
            this.Height = height;

            pictureBox.Refresh();
        }
Posted by chobocho
Tip/Windows2021. 8. 9. 02:30

* 스캔스냅 으로 대량 자료 스캔시, 자동 회전이나 빈 페이지 삭제 기능이, 오히려 불편함을 초래 할 때가 있다.

해당 기능을 off 하려면 아래와 같다

'Tip > Windows' 카테고리의 다른 글

[C#] PictureBox 로 간단한 이미지 뷰어 만들기  (0) 2023.09.22
[Excel] 엑셀 수식 자동 계산이 안 될 때  (0) 2021.08.07
검색 잘 하기  (0) 2021.08.07
Posted by chobocho
Tip/Windows2021. 8. 7. 00:35

파일 > 옵션 > 수식에서 아래와 같이 

통합 문서 계산 > 자동  을 선택하며 된다.

'Tip > Windows' 카테고리의 다른 글

[ScanSnap] 스캔스냅 사용팁  (0) 2021.08.09
검색 잘 하기  (0) 2021.08.07
Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
Posted by chobocho
Tip/Windows2021. 8. 7. 00:31

1. 검색은 구글에서 하는 이다.

 

2. 핵심 검색어를 포함해라.

* 반드시 문장으로 써야 할 필요는 없다. 핵심 키워드만 나열해도 된다.

3. 특정 site 자료만 검색하는 방법

* 검색어 site:주소   와 같이 써주면 된다.

4. 내가 찾는 단어들이 반드시 포함된 사이트만 검색하기

  • 검색어 사이에 '+' 써주면 된다.
  • 예: 안드로이드, 테트리스, 만들기 3 단어가 반드시 포함된 사이트를 찾기

'Tip > Windows' 카테고리의 다른 글

[Excel] 엑셀 수식 자동 계산이 안 될 때  (0) 2021.08.07
Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
Batch file 템플릿  (2) 2020.12.22
Posted by chobocho
Tip/Windows2021. 4. 15. 01:19

AA 건전지 2개로 동작 가능 함

USB-C로 PC와 연결시 건전지 불필요

* IPAD 8세대와 연결시 동작 잘 안함

* 갤럭시 휴대폰과는 동작 잘 됨

'Tip > Windows' 카테고리의 다른 글

검색 잘 하기  (0) 2021.08.07
Batch file 템플릿  (2) 2020.12.22
WireShark 기초 (PCAP에서 파일 추출)  (0) 2020.11.24
Posted by chobocho
Tip/Windows2020. 12. 22. 23:16
@REM batch file script
@REM  _________________________________________________________________________
@REM /
@REM |  REM	주석문을 위한 명령어.
@REM +-------------------------------------------------------------------------	  
@REM |  
@REM |  @를 붙여주어야 다시 화면에 나타나지 않는다.
@REM |  
@REM |  ECHO 의미 그대로 화면에 명령어를 보여준다.
@REM |  echo Hello, World!
@REM |
@REM |  Hello, World! 
@REM |  
@REM +-------------------------------------------------------------------------	  
@REM |  CLS	화면을 깨끗하게 지워준다
@REM +-------------------------------------------------------------------------	
@REM |  PAUSE 아무키나 누를떄 까지 잠시 실행을 중단한다.
@REM +-------------------------------------------------------------------------	
@REM |  IF	C의 IF와 비슷하다.
@REM |  
@REM |  IF CONDITION == end GOTO END
@REM +-------------------------------------------------------------------------
@REM |  GOTO 지정된 LABEL로 점프를 한다.
@REM |
@REM |  GOTO END
@REM |
@REM |  data.txt 파일이 존재하면 EXECUTE로 점프
@REM |  IF EXIST data.txt GOTO EXECUTE 
@REM |  
@REM +-------------------------------------------------------------------------
@REM |  5초간 대기
@REM |  
@REM |  timeout /t 5
@REM +-------------------------------------------------------------------------	   
@REM | https://chobocho.tistory.com
@REM +-------------------------------------------------------------------------

@echo off

echo ######                                                  
echo #     #   ##   #####  ####  #    #                      
echo #     #  #  #    #   #    # #    #                      
echo ######  #    #   #   #      ######                      
echo #     # ######   #   #      #    #                      
echo #     # #    #   #   #    # #    #                      
echo ######  #    #   #    ####  #    #                      

batch.bat
0.00MB

'Tip > Windows' 카테고리의 다른 글

Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
WireShark 기초 (PCAP에서 파일 추출)  (0) 2020.11.24
대량의 파일 지우기  (0) 2020.09.22
Posted by chobocho