2014-03-02 77 views
0

的GUID我有一大堆的目錄中需要進行重命名的文件。這些是由QNAP的iPhone應用程序創建的,該應用程序將圖像和電影文件從手機上傳到NAS。remove從文件名shell腳本

文件名是像這樣:

2014-02-21 20.50.29.MOV?id=BFE616C6-F951-4A51-9B33-084B73BF9341&ext=MOV 
2014-02-22 12.31.58.JPG?id=7D2816AA-06D4-4F48-8908-23D327BB0A01&ext=JPG 

這些需要被重新命名爲適當的文件名。例如。

2014-02-21 20.50.29.MOV?id=BFE616C6-F951-4A51-9B33-084B73BF9341&ext=MOV renamed to 2014-02-21 20.50.29.MOV 

Windows不允許我與這些文件做任何事情,或者我可以用類似advancedrenamer做的工作。

感謝您的幫助。

回答

0

在bash您可以使用此:

rename 's/(.*)\?.*/$1/' * 
+0

不幸的是,我對我能在QNAP使用限制。我沒有在ipkg版本的bash中重命名。任何其他想法? – kingnothing

0

這個固定我的問題。

for file in *.JPG\?id*; 
    do mv "$file" "${file%%\?*}"; 
done 

我基本上做同樣的,每種文件類型,MOV,PNG,MP4等