文章目錄- 寫在前面
- 具體步驟
- 命令詳解
- 注意事項
- 簡單示例
- 總結(jié)
寫在前面 在日常辦公中,批量修改照片/視頻的文件名是一件讓很多人頭疼卻又不得不面對的事情。我就經(jīng)常會遇到下載的視頻文件名中帶有廣告等信息的情況。 今天給大家介紹一種簡單易懂的方法用來批量修改文件名,用到的工具是Windows 10 系統(tǒng)自帶的powershell (鑒于其跨平臺的特性,Mac、Linux用戶也可以使用powershell )。 具體步驟 - 新建文本文檔,復(fù)制如下代碼,并做修改
ls 'D:\Desktop\test' -i *.txt -r | foreach {ren $_.FullName $_.FullName.Replace('oldname', 'newname')} D:\Desktop\test 修改為 所要更改的文件夾路徑 oldname 修改為 原文件包含的文件名 newname 修改為 要替換的新文件名 - 在桌面按住
Shift 并點擊右鍵—<>powershell 窗口>,粘貼上述修改后的命令,回車即可完成文件名的修改 命令詳解 命令&方法 | 參數(shù) | 解釋 |
---|
ls | | 讀取路徑下的所有文件信息 | | -i | 為單詞Include的首字母,意為包含的內(nèi)容,可使用通配符,后加參數(shù)*.txt意為查找所有后綴名為txt的文件,可自由替換 | | -r | 為單詞遞歸Recurse的首字母,意為遞歸查找 | foreach | | 可類比for循環(huán)語句,意為對循環(huán)的每一個元素進行操作,后加操作內(nèi)容 | $_ | | 用于讀取每一個由foreach得到的元素,本例中返回文件的詳細信息(狀態(tài)、大小、路徑) | .FullName | | 該方法返回文件的完整路徑 | ren | | 為單詞rename的前三個字母,后加文件的原始名稱及修改后的名稱 | .Replace | | 該方法用于進行字符串的替換操作,后加參數(shù):待替換的內(nèi)容,替換后的內(nèi)容 |
注意事項 - 以上命令&參數(shù)為了簡潔可讀,均使用別名(Alias)。
powershell 命令不區(qū)分大小寫,首字母大寫為提高可讀性。- 待替換的文件名不能與路徑中出現(xiàn)的內(nèi)容相同,否則會報錯,如下例路徑中的Desktop和test,里面的字母若單獨出現(xiàn)在待替換的內(nèi)容中,則會因路徑首先被修改而導(dǎo)致找不到文件。
- 諸如中文符號(,),《,》等可能會因為編碼問題導(dǎo)致修改不能成功,目前僅已知可以通過字符串分割的操作進行處理,歡迎知道的朋友在下方評論,十分感謝!
- 對于不同的文件名,有些可能使用替換的方法會比較繁瑣,這時候就要具體問題具體分析,歡迎大家一起學(xué)習(xí)。
簡單示例 為方便大家理解,下面展示一個例子作簡要說明: 如圖1,從網(wǎng)絡(luò)下載了若干視頻(保存在D:\Desktop\test文件夾下),但每一個文件名前面有很多的廣告內(nèi)容: 圖1 現(xiàn)利用以上所給方法進行文件名的批量修改 執(zhí)行如下命令: ls 'D:\Desktop\test' -i *.txt -r | foreach {ren $_.FullName $_.FullName.Replace('某某某網(wǎng)站榮譽出品--高清無水印--【微信公眾號《XXX》獲取更多資源】', '')} 所得結(jié)果如圖2: 圖2 總結(jié) powershell 目前來看還是一款十分小眾的shell工具,但隨著其在更多領(lǐng)域(網(wǎng)絡(luò)安全,系統(tǒng)管理等)上的應(yīng)用,以及其開源特性,一定會讓更多人了解并熟悉這個十分Power的工具。本人最近正在學(xué)習(xí)powershell ,會陸續(xù)更新一些相關(guān)的博客,歡迎大家支持,指正。
|