我使用Windows XP並編寫了一個簡單的bat文件,用於從網站下載XML,然後重命名xml文件,以便它們都具有.zip擴展名,但對於某些原因,它不會重命名文件。下面是使用BRC32無法工作的代碼行,它在Windows中執行REGEXP似乎很麻煩。在Windows bat文件中使用regexp與BRC32重命名實用程序
.\software\BRC32 /DIR: /REGEXP:.*%22(.*)%22:\1.zip /EXECUTE
File Name: [email protected]_stds=all&down_typ=results&cond=%22Aicardi Syndrome%22
Desired result: [email protected]_stds=all&down_typ=results&cond=%22Aicardi Syndrome%.zip
我使用BRC32.exe實用工具,還使用了pcre.dll 3.9版做的bat文件的REGEXP,但由於某種原因,我只是得到,說文件不能被重命名錯誤。有沒有人有任何洞察到這個問題>?
這真的是文件名嗎? '&'不是合法的文件名字符。在任何情況下,如果命令從命令行運行,而不是從批處理文件運行,則批處理文件中的變量替換可能是罪魁禍首 - 將%var更改爲%% var。有這樣一個原因,我不記得 – 2013-05-07 17:16:15
從%到%%的簡單變化修復它哇,謝謝我在這一段時間我的頭痛。因爲它的確形成了commnad行,但不是我的scipt。謝謝! – swingard 2013-05-07 17:20:01
@Ben - 呃,'&'肯定是一個有效的文件名字符。對於這個問題,'%'也是。和'^'。還有'(;)'。所有非常難以批量處理。最好避免 - 但有些人堅持使用它們... – Magoo 2013-05-07 17:25:12