2016-04-06 60 views
0

我想在dos命令提示符下使用下面的代码(取自另一个主题),使用批处理文件,使用.txt文件中的文件名重命名.mkv文件。但是,如果.txt文件名中有空格,则重命名的文件会省略空格之后的所有字符。例如。 'movie.txt'可以正常工作,但'movie.txt'不会;他们分别生成文件'movie.mkv'和'the.mkv'。根据另一个文件类型的文件名重命名文件

@echo off 
setlocal enabledelayedexpansion 

:: This assumes there is only one mkv file in the folder 
for /F %%A in ('dir /b *.txt') do (
set basename=%%~nA 
ren *.mkv !basename!.mkv 
) 

任何人都可以帮忙吗?

由于提前, 理查德

+0

使用双引号:http://ss64.com/nt /syntax-esc.html – JosefZ

回答

0

任何有兴趣在这里是一个解决方案,我发现:

@echo off 
setlocal enabledelayedexpansion 

:: This assumes there is only one mkv file in the folder 
for /F "delims=" %%A in ('dir /b *.txt') do (
set basename="%%~nA" 
ren *.mkv !basename!.mkv 
) 

问候, 理查德