2013-07-23 2 views
1

파일 확장자가 누락 된 큰 파일 일괄 처리가 있습니다.첫 번째 4 바이트를 검사하고 파일 확장명을 바꾸는 방법

저는 현재 Windows 7 Pro를 사용하고 있습니다. 나는 "열 수있는"어떤 응용 프로그램이 이러한 파일을 열고 수동으로 맞게 이름을 변경하는 실험을 실험 할 수 있습니다.

그러나 올바른 파일 형식 (일반적으로 PDF, 다른 파일에는 JPG, HTML, DOC, XLS 및 PPT 포함)을 식별하고 배치 이름을 변경하여 적절한 파일 확장명을 추가하고 싶습니다.

일부 파일을 메모장에서 열고 처음 4 바이트를 검토 할 수 있는데,이 경우에는 "% PDF"가 표시됩니다.

작은 스크립트가이 바이트를 검사하고 적절하게 이름을 바꿀 수 있다고 생각합니다. 그러나 모든 파일이 그렇게 쉬운 방법을 제공하지는 않습니다. HTML, JPG, DOC 등은 쉬운 식별자를 제공하지 않습니다.

이 파워 쉘 방법은 가까운 것으로 나타납니다 여기 https://superuser.com/questions/186942/renaming-multiple-file-extensions-based-on-a-condition

어려움없이 확장자를 가진 파일 형식에서 작동하는 방법을 집중하고있다; 그런 다음 처음 4 바이트 식별자가없는 파일로 무엇을해야합니까?

감사합니다.

편집 : 솔루션 TRID가 여기에 본 사용 : 여기 TRID을 실행하기 위해 PowerShell을 사용 http://mark0.net/soft-trid-e.html 그리고 재귀 방법 : http://mark0.net/forum/index.php?topic=550.0

답변

1

Windows 용 file 유틸리티 (What is the equivalent to the Linux File command for windows? 참조)를 얻은 다음 파일 유형을 확장명으로 매핑하는 간단한 스크립트를 작성하여 시간을 절약 할 수 있습니다.

EDIT : 해당 페이지에서 언급 한 the TriD utility처럼 보이면 원하는대로 할 수 있습니다. -ae 및 -ce 옵션 참조)

+0

사실 나는 여기에 설명 된대로 Powershell과 결합 된 끝에 TriD를 사용했습니다 : http://mark0.net/forum/index.php?topic=550.0. 4 바이트가 작동하지 않는 파일에 적용됩니다. 파일의 80 %가 수정되었습니다. 나머지는 아직 조사 중입니다. – Stews

0

사용 python3을.

import os,re 
fldrPth = "path/to/folder" # relative to My Documents 
os.chdir(fldrPth) 
for i in os.listdir(): 
    with open(i,'r') as doc: 
     st = doc.read(4) 
    os.rename(i,i+'.'+re.search(r'\w+',st).group()) 

잘하면이 방법이 유용 할 것입니다. 코드를 검사 할 테스트 파일이 없습니다. 백업을 가져 와서 실행하고 작동하는지 알려주십시오.

+0

처음 네 바이트의 이름을 바꾸려면 제안 하시겠습니까? 일부 PDF 파일에서는 작동하지만 정확하게 축척되지는 않습니다 (예 : DOCTYPE 선언이있는 HTML 파일은 .DO를 확장자로 사용합니다). – Fredrik

+0

입력 rnbcoder 주셔서 감사합니다. 귀하의 스크립트가 PDF로 작동한다고 생각합니다. 다른 유형의 파일과 관련된 문제는 아마도 TriD를 개발하게 된 여러 가지 문제 일 것입니다. – Stews

관련 문제