2016-04-06 101 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 
) 

問候, 理查德