확장자가 .flv 인 파일을 포함 할 수있는 수백 개의 하위 디렉토리가있는 서버가 있습니다. 90 일 이상. 나는이 파일들을 찾아야하지만, 그 이름에 "ProdStream"이라는 단어가있는 폴더에서만 찾을 수 있습니다.디렉토리 이름에 배치 또는 powershell을 사용하여 디렉토리 이름에 특정 텍스트가 들어있는 디렉토리 집합에서 90 일보다 오래된 파일 이동
이 목적은 로그에 보존 된 파일의 원래 경로를 사용하여 파일을 AWS (이 작업 스크립트가 있음)에 보관하는 것입니다.
나는 폴더를 포함하도록 지정합니다 사용하여 모든 하위 폴더에있는 파일을 찾을 수 있습니다
forfiles /P "SRC_PATH" /S /M *.flv /D -90 /C "cmd /C move @file "DEST_PATH""
그러나, forfiles 나를 변수로 폴더 이름을 사용하는 것을 허용하지 않습니다. 적어도 내가 시도한 것에는 그렇지 않다. 그래서 for 명령을 써 보았습니다.
set stream=SRC_PATH
FOR /D /R %stream% %%X IN (ProdStream*) DO [something]
제대로 작동하지만 부분적으로 만 파일을 찾기 위해 올바른 명령을 찾을 수 없습니다.
완전한 경로 정보가있는 파일 목록을 저장해야합니다. 난이 사용되었습니다 작동하지만, 폴더 이름에 ProdStream의 텍스트를 필터링하지 않습니다
forfiles /P "SRC_PATH" /S /M *.flv /D -90 /C "cmd /C echo @path @fsize" >MY_LOG_FILE
합니다.
일괄 처리뿐만 아니라 PowerShell에서도이 작업을 수행 할 수 있습니다.
내 PowerShell은 약하지만 더 강해질 수 있습니다!
아이디어가 있으십니까?
서버 R2 엔터프라이즈 SP1이