2013-07-05 71 views
1

我有幾個有外部網站名稱的mp3文件,如www.mymusic.com,該名稱將在mp3的開始/結尾處文件批處理腳本:刪除包含來自多個文件名的特殊字符的特定/目標單詞

例子:

  • 01 - {} www.mymusic.com你好Hello.mp3,
  • 02 - {} www.mymusic.com海Hai.mp3,
  • 03 - 你好男孩[www.musicworld.in] .mp3,
  • 04 - 你好女孩[www.musicworld.in] .MP3

所以我想(窗口)批處理腳本,問我有特殊字符說「[www.musicworld.in]」輸入名稱和將其從目錄中的多個mp3文件中刪除。

也給我一個例子如何使用/運行代碼。

請幫助:)

在此先感謝

+0

如果有任何問題,**沒有**表明對被解決問題的最低限度理解,那麼我們就可以回家了。 – Endoro

回答

3

的代碼立即生效!

@echo off &SETLOCAL enabledelayedexpansion 
SET /p "word=enter word to remove: " 
IF "%word%"=="" GOTO :EOF 
FOR /f "delims=" %%a IN ('dir /a-d /b "*%word%*.mp3"') DO (
    SET "fname=%%~na" 
    SET "fname=!fname:%word%=!" 
    IF NOT "!fname!"=="" REN "%%~a" "!fname!%%~xa" 
) 
+0

..或者如果您使用'.mp3',而不是'.mp2 '... :)現在假設你使用'「*%word%*。mp3」' - 這將允許你處理第一個'if'測試... – Magoo

+0

嗯,這是凌晨在這裏,咖啡**不準備** :)謝謝! – Endoro

+1

咖啡因流中的血液過多。太常見了... – Magoo

0

這是一個批處理文件,它可以幫助你 - 它使用一種名爲repl.bat一個輔助批處理文件從http://www.dostips.com/forum/viewtopic.php?f=3&t=3855

目前只回聲REN命令所以刪除echo,如果你是幸福的結果。這樣做的一個好處是!字符不是問題,因爲它們具有延遲擴展。

@echo off 
set /p "var=Enter the text to remove: " 
for /f "delims=" %%a in ('dir *.mp3 /b /a-d ^|repl "^(.*)%var%(.*)" "ren \x22$&\x22 \x22$1$2\x22" x ') do echo %%a 
+0

嗨朋友,Endoro提供的上述代碼只是簡單地回答我的問題..不需要額外的文件。可能是你的代碼在複雜情況下工作?反正謝謝回覆:) – ilu1257

+0

沒關係。我認爲你的音樂文件在這個文件名中會有'!'。有很多方法可以解決它。 – foxidrive

相關問題