2015-09-19 2 views
0

Я искал на этом форуме, но не смог узнать, что я ищу. IRC не разрешает DCC файлов, имеющих пробелы. Как создать пакетный файл, который заменяет пробелы символом подчеркивания для всех файлов MP3/FLAC в папке. я tried это but не удалосьCMD заменяет пробелы символом подчеркивания

@echo off 
Setlocal enabledelayedexpansion 
Set "Pattern= " 
Set "Replace=_" 
For %%a in (*.mp3) Do (
Set "File=%%~a" 
Ren "%%a" "!File:%Pattern%=%Replace%!" 
) 
Pause&Exit 

It дает мне ошибку, что файлы being used на другом процессе though Файлы не были использоваться любыми programs и теперь он ничего не doing whenever я бегу it it just говорит «нажмите любую клавишу, чтобы продолжить и выключится»

Любая помощь? спасибо.

+1

Попробуйте изменить строку 'Set' на' Set 'File = %% ~ nxa "', поэтому сохраняется только имя файла; затем измените '' %% a '' в строке 'Ren' на' '%% ~ fa" ', чтобы предоставить полный путь к команде; все это исключает любые проблемы, связанные с трассировкой ... – aschipfl

ответ

0

С echo перед командой rename. Он должен работать.

Но если вы получаете the files are being used by another process. Это, безусловно, так.

Это может быть приложение, заблокированное при закрытии, приложение скрыто в systray, индексировщик окон.
Компьютер перезагрузки или выхода из системы может решить.

@echo off 
setlocal enabledelayedexpansion 
set "pattern= " 
set "replace=_" 
for %%a in (*.mp3) do (
    set "file=%%~nxa" 
    echo Ren "%%~fa" "!file:%pattern%=%replace%!" 
    ::pause 
) 
pause 
exit /b 0 
Смежные вопросы