q:
假如資料夾有批量相似的檔名,如果檔名不符合需求了,要怎麼改呢,文件可以「ctrl + h」一鍵替換字元,系統檔名可不支援「ctrl + h」一鍵替換字元,動手能力強的已經乙個個手動在改了/滑稽,你是原始人嘛
如圖:
可以通過windows自帶的powershell寫指令碼來實現批量修改檔名
下面來實現一下
一、新建記事本,儲存為 ".ps1"檔案格式
a.開啟檔案寫入下面這段內容
注意:$path的路徑建議寫為二級目錄,比如"e:\test\test",而二級目錄的 test 資料夾下就放著你需要改名的檔案。如果路徑是"e:\test",test 目錄下有其它子目錄,且子目錄中也有滿足指令碼的 $filter 和 $oldtext 規則的檔案,那麼指令碼會將子目錄裡滿足規則的檔名也一併改了,所以建議把需要改名稱的檔案放到乙個資料夾裡,將這個資料夾放在二級目錄下
$path = '' # 路徑:要改名稱的資料夾路徑$filter = '' # 過濾器:要改名稱的檔案格式
$newtext = '' # 新字元:符合需求的字元
$oldtext = '' # 舊字元:現有的、不符合需求的字元
# 下面這段命令照抄即可
b.儲存,右鍵powershell執行,不出意外你應該看見乙個視窗一閃而過,檔名沒有發生任何改變
c.為什麼呢?因為powershell的預設執行策略是 restricted,這個策略不允許任何不被信任的指令碼執行,所以指令碼是執行失敗了
二、在windows裡搜尋 windows powershell ise 並以管理員身份執行
a.以命令的形式執行指令碼可以看到報錯資訊
# 使用絕對路徑或相對路徑執行指令碼b.輸入以下命令:
# 檢視當前設定的執行策略,可以看到當前策略為 restricted$ get-executionpolicy
# 使用下面的命令更改策略為 remotesigned
$ set-executionpolicy remotesigned
# 再次檢視當前設定的執行策略,可以看到當前策略為 remotesigned
c.使用命令執行 .ps1 指令碼
# 使用絕對路徑或相對路徑執行指令碼d.見證奇蹟$ .\script_path\**.ps1
# 或者將命令 copy 在終端中執行
$ ls "path" -include "filter" -recurse |foreach-object
三、收尾工作
a.將powershell的執行策略改回 restricted
# 將powershell的執行策略改回預設的 restricted$ set-executionpolicy restricted
# 檢視當前設定的執行策略,可以看到當前策略為 restricted
linux sed 批量替換檔案內容
一 linux sed 批量替換多個檔案內容 sed i s oldstring newstring g grep oldstring rl yourdir 其中,grep oldstring rl yourdir是查尋目錄中檔案內容 如將indexeddb目錄裡的檔案內容替換 idbtransac...
linux下批量替換檔案
替換任意字元 sed s client inactivity timeout 99 client inactivity timeout g agent.xml.15 1 將agent.xml.15 中 client inactivity timeout 替換為 99 client inactivit...
BAT批量替換檔案內容
bat批量操作 1.批量替換指定檔案指定內容 案列 將test.txt文字中的inflie替換為outfile echo off setlocal enabledelayedexpansion set currcd dp0 set strold outfile set strnew infile f...