2013-10-08 1 views
1

사람들이 잘못된 작업 번호로 파일을 폴더에 넣는 데 문제가 발생했습니다. 664585_custnum_qty_filetype.dat에 대한 파일은 664585 폴더에 있어야합니다 주어진 폴더의 파일이 모두 foldername으로 시작하는지 확인하는 방법을 찾고 있습니다. 나는 함께 일해왔다. 적절한 파일 위치

@ECHO OFF 
FOR /R "V:\Work" %%G in (.) DO (
Pushd %%G 
REM Echo now in %%G 
for %%a in (.) do set currentfolder=%%~na 
    echo %currentfolder% 
    REM this is where I would be finding files that dont start the right way. 
Popd) 
Echo "back home" 
Pause 

내가 iterating through folders에 대한 본과 finding current directory name

가 궁극적으로 내가 그들을 발견하고 그들이 왜 '알아낼 수 있도록 장소에서 모든 파일을 나열 할 두 가지를 결합하는 시도 그들은 거기에 두지 않는다. 그래서 나는 과 또는 332185으로 시작하지 않는 파일을 표시하는 665485332185 CustName과 같은 폴더에 모든 폴더를 반복하는 프로그램을 갖고 싶습니다.

시스템에 cygwin이 있지만 항상 활성화되어 있지는 않지만, C:\cygwin\bin\ls.exe을 참조하여 동일한 이름의 일부 MS 명령의 일반적인 기능을 사용하지 않도록 직접 고려하고 있습니다.

폴더 이름의 번호로 시작하는 파일 목록을 가져 오는 방법에 대한 제안 사항이 있습니까?

답변

1
@echo off 
for /d %%i in (*) do (if "%%i" NEQ "xArchive" (for /f %%j in ("%%i") do (dir "%%i" /b|for /f %%k in ('find "%%j" /v') do @dir "%%k" /b /s|find "thumbs.db" /v /i|find "xArchive" /v /i)) 

번호가 매겨진 폴더가있는 디렉토리에 넣고 실행하십시오. 내가 그것을 바꿀 필요가 있다면 몇 시간 안에 다시 올거야. ;)

+0

이것은 매력처럼 작동합니다. 몇 가지 다양한 "파일을 찾을 수 없음"오류가 발생하지만 정확하게 필요한 부분을 뱉어냅니다. 필자가 자동으로이 파일을 실행하려고했기 때문에 출력을 "zzz.txt"파일로 지정했습니다 (이 파일 또한 "File Not Found"를 삭제하는 부수적 인 이점이 있습니다). 오류 텍스트)을 보내고 그 파일을 자신에게 첨부 파일로 보냅니다. – PsychoData

+0

내 위시리스트에 추가로 추가해야 할 것은 "무시"옵션입니다. 지금은 무시해도 좋을 여러 Thumbs.db 유형 파일을보고하기 때문입니다. 그것들을 고집하는 것은 간단하지만 좋을 것입니다. – PsychoData

+1

편집을 참조하십시오. 더 많은 파일을 필터링하고 더 많은 파이프를 추가하십시오. ;) – nephi12