Batch: Remove a string from a string

2019-05-28 12:25发布

问题:

I have the following batch script from Wikipedia:

@echo off
    for /R "C:\Users\Admin\Ordner" %%f in (*.flv) do (
    echo %%f
)
pause

I learned here that %%~nf returns just the filename without the extension. Now I just wanted to remove (Video) from the filenames (%%~nf). How could I do that?

回答1:

Try this:

@echo off
for /R "C:\Users\Leniel\Desktop\BatchTest" %%f in (*.flv) do (
    call :Sub %%~nf 
    )

:Sub
set str=%*
set str=%str:(Video)=%
echo %str%
pause

Take a look at the following link to learn about removing a substring using string substitution:

http://www.dostips.com/DtTipsStringManipulation.php#Snippets.Remove