Sunday, 15 August 2010

ms dos - dos script to find some files , create a folder in the same directory and move them in -



ms dos - dos script to find some files , create a folder in the same directory and move them in -

i want create dos script (.bat) search on sub folders , whenever finds file word mk11 in file name must create folder named archive , move file in it.

example:

c:\folder1\folder2\folderx\filemk11.txt -> c:\folder1\folder2\folderx\archive\filemk11.txt c:\folder1\folder3\fmk11ile.txt -> c:\folder1\folder3\archive\fmk11ile.txt

i tried create next script examples have seen problem creates folder "archive" in directory script instead of directory file found.

setlocal enabledelayedexpansion set /a c=0 /r %%i in (*mk11*) ( set /a c=c+1 md archive move "%%i" archive ) endlocal

i think script downwards road. echoed re-create command rather move command, of hard part done.

@echo off setlocal enableextensions enabledelayedexpansion set tempfile=%temp%\afinder_%random%_%random.tmp dir /s /b /a-d *mk11* >%tempfile% /f "usebackq delims=" %%f in (`type %tempfile%`) ( echo "%%f" /f "delims=\ tokens=*" %%a in ("%%f") ( set pname="%%~pa" echo pname set !pname! echo "!pname:~-9,7!" rem check see if file in archive directory. if "!pname:~-9,7!" == "archive" ( echo got 1 ) else ( echo not 1 if not exist "!pname!\archive" (mkdir "!pname!\archive") echo re-create %%f "!pname!\archive" ) ) ) if exist "%tempfile%" (del "%tempfile%") exit /b 0

dos ms-dos

No comments:

Post a Comment