파일명 중 23번째에서 29번째 문자를 출력하여 7개가 아닐 시에 파일명 전체 출력하는 코드
조회수 476회
예를 들어서 '181001161609_00001_1AE_AAAABAA'라는 파일명 중 AAAABAA 이부분만 출력해서 이부분이 7자리가 아니면 전체 파일명 '181001161609_00001_1AE_AAAABAA'를 출력해주는 코드를 알고 싶습니다. 직장에서 필요해서 만들려고하는데 너무 힘드네요 도움부탁드립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
혹시 PHP 설치하실 수 있으세요? 그러면...
<?php // 이 php 파일이 있는 곳의 모든 파일/디렉토리 가져오기 $files = scandir(__DIR__); // 쓸데없는거 빼버리기 unset($files[0]); unset($files[1]); // 모든 파일/디렉토리에 대해서 foreach ($files as $file) { // 전체 파일명 따로 킵해두기 $fullFileName = $file; // 이름.확장자 형태라면 이름 부분만 남기기 if (preg_match('/.*\..*/', $file)) $file = preg_replace('/(.*)\..*/', '$1', $file); // 이름의 맨앞 23자를 지운 나머지가 7자가 안 되면 전체 파일명 출력 if (strlen(substr($file, 23)) !== 7) echo $fullFileName."\n"; } ?>
- 위 코드를 전부 복사해서 저장합니다. 검색하려는 폴더에
inspect.php
라는 이름으로 저장하세요. - 그 폴더를 탐색기로 열고 파일 > 'windows 파워쉘 열기' 해보세요.
php inspect.php
라고 쳐보세요.- 문제가 있으면 소스상의
23
이나7
부분에서 문제가 있는 것일 테니 그걸 수정하세요.
핵심은 (1) 현재 디렉토리 읽기 (2) regex 검사하기 니까 파이썬 쓰고계시면 충분히 포팅 가능할 것이라 생각합니다. (애초에 좋은 매크로 프로그램 하나 찾아서 잘만 하면 코딩 1줄 안해도 이런 작업은 할 수 있을텐데요.)
뭐암튼 나는 PHP빌런이니까~~ MAKE PHP GREAT AGAIN
- 위 코드를 전부 복사해서 저장합니다. 검색하려는 폴더에
댓글 입력