select - How to make a batch file to run on selected path? -
i'm trying create .bat
file change file names on selected folder user. idea add sub-string @ end of files' names unless has (like watermark signature).
for example: filename.mp4
become filename.made_by_me.mp4
the files can these types: .avi
.mkv
.mp4
i want able check if filename contains upper-case or not. if does, add .made_by_me
instead of .made_by_me
filename.
at last, if filename contains sub-string, won't add again.
.
.
.
.
my code far:
for /f "delims=" %%a in ('dir /b /a-d *.avi *.mkv *.mp4 ^|findstr /iv ".made_by_me"') ren "%%~a" "%%~na.made_by_me%%~xa"
i hope have requested possible , appreciate can provide.
edit: request "let user select folder .bat file run" not clear enough; however, modified code below in order so:
2nd edit: modified solution in order use 1 of methods select folder given @ this question as requested in comment; used simplest 1 (the wsh shell.application object browseforfolder one).
@if (@codesection == @batch) @then @echo off setlocal enabledelayedexpansion rem select folder via wsh shell.application browseforfolder method /f "delims=" %%a in ('cscript //nologo //e:jscript "%~f0"') set "folder=%%a" if not defined folder goto :eof cd "%folder%" /f "delims=" %%a in ('dir /b /a-d *.avi *.mkv *.mp4 ^| findstr /i /v ".made_by_me"') ( set "filename=%%a" rem convert file name lowercase letters %%a in (a b c d e f g h j k l m n o p q r s t u v w x y z) ( set "filename=!filename:%%a=%%a!" ) if "!filename!" equ "%%a" ( rem original file name have lowercase letters ren "%%a" "%%~na.made_by_me%%~xa" ) else ( rem original file name include @ least 1 uppercase letter ren "%%a" "%%~na.made_by_me%%~xa" ) ) goto :eof @end // jscript section var shl = new activexobject("shell.application"); var folder = shl.browseforfolder(0, "please choose folder.", 0, 5); wsh.echo(folder ? folder.self.path : "");
Comments
Post a Comment