共计 2475 个字符,预计需要花费 7 分钟才能阅读完成。
您是否也曾為了整理影片字幕而頭痛?從 YouTube 或其他平台下載的字幕檔(像是 .srt 或 .vtt 格式),總是夾雜著大量的時間碼、序列號碼,甚至是您不需要的英文字幕。身為內容創作者或影片剪輯師,我們追求的是效率!今天,就讓我與您分享一個為您量身打造的 PowerShell 腳本,讓您一鍵清除所有雜訊,只萃取出乾淨、純粹的中文字幕行。
這篇文章將會提供一個完整的 PowerShell (.ps1) 腳本,並詳細解說如何使用它。無論您是技術高手還是電腦初學者,都能輕鬆上手。準備好讓您的工作流程快轉了嗎?讓我們開始吧!
PowerShell 腳本:中文內容萃取器
這個腳本的核心原理非常簡單:它會讀取您指定的輸入檔案,逐行檢查,如果發現某一行包含任何中文字元,就將該行完整地寫入一個全新的輸出檔案。乾淨俐落,絕不拖泥帶水。
# ----------------------------------------------------------------------------------
# SCRIPT: Extract-Chinese-Lines.ps1
# AUTHOR: 您的部落格名稱或作者名
# DESCRIPTION: 讀取一個文本文件,只保留包含中文字符的行,並將結果存為新文件。# ----------------------------------------------------------------------------------
# --- 設定區 (請根據您的情況修改) ---
# 1. 輸入檔案的路徑 (包含數字、時間碼和中文的原始檔案)
$inputFile = "C:\Users\YourUser\Desktop\original.txt"
# 2. 輸出檔案的路徑 (只包含中文句子的結果檔案)
$outputFile = "C:\Users\YourUser\Desktop\chinese_only.txt"
# --- 腳本主體 ---
# 檢查輸入檔案是否存在
if (-not (Test-Path -Path $inputFile -PathType Leaf)) {
Write-Host "錯誤:找不到輸入檔案'$inputFile'。" -ForegroundColor Red
Read-Host "請檢查路徑後按 Enter 鍵退出..."
exit
}
Write-Host "正在讀取檔案: $inputFile" -ForegroundColor Cyan
try {
# 核心處理流程:
# 1. Get-Content: 讀取檔案內容,-Encoding UTF8 確保能正確處理中文字元。# 2. Where-Object: 進行篩選,'$_' 代表目前處理的這一行。# 3. -match '[\u4e00-\u9fa5]': 這是一個正規表示式,用來匹配任何一個 Unicode 編碼在 U+4E00 到 U+9FA5 之間的字元 (這涵蓋了絕大多數常用中文字)。# 4. Set-Content: 將篩選後的結果寫入新檔案,同樣使用 -Encoding UTF8。Get-Content -Path $inputFile -Encoding UTF8 | Where-Object {$_ -match '[\u4e00-\u9fa5]'
} | Set-Content -Path $outputFile -Encoding UTF8
Write-Host "處理完成!" -ForegroundColor Green
Write-Host "只包含中文的內容已保存到: $outputFile" -ForegroundColor Green
}
catch {
Write-Host "處理過程中發生錯誤:" -ForegroundColor Red
Write-Host $_.Exception.Message -ForegroundColor Red
}
Read-Host "請按 Enter 鍵退出..."
如何使用此腳本?四步驟輕鬆搞定
跟著以下四個簡單的步驟,您就能馬上學會如何使用這個強大的工具。
- 修改路徑並儲存腳本
首先,打開任何純文字編輯器(例如:記事本、Visual Studio Code)。將上面的程式碼複製貼上。最重要的一步:修改最上方「設定區」中的$inputFile
和$outputFile
變數,將其路徑指向您電腦上實際的檔案位置。最後,將檔案儲存為Extract-Chinese-Lines.ps1
(或者任何您喜歡的 .ps1 結尾的名稱)。 - 允許腳本執行 (只需設定一次)
為了系統安全,Windows 預設禁止執行未經簽署的腳本。您需要先進行一次性的授權設定。請「以系統管理員身份 」開啟 PowerShell,輸入以下命令並按 Enter:Set-ExecutionPolicy RemoteSigned
當系統詢問時,輸入Y
然後按 Enter 確認。 - 執行腳本
在您剛剛保存的.ps1
檔案上按一下滑鼠右鍵,然後選擇「使用 PowerShell 執行」。 - 檢查結果
腳本會瞬間運行完畢,並在您指定的輸出路徑上生成一個新的檔案 (例如chinese_only.txt
)。打開看看,是不是只剩下乾淨的中文句子了呢?
實際效果展示:過濾前 vs. 過濾後
為了讓您更直觀地感受腳本的威力,這裡提供一個簡單的範例。
過濾前:original.txt
1673
01:56:58,833 --> 01:57:00,166
你好嗎
1674
01:57:00,300 --> 01:57:01,366
个紫锥花咧
1675
01:57:01,466 --> 01:57:02,599
This is a test line.
過濾後:chinese_only.txt
你好嗎
个紫锥花咧
看到了嗎?腳本完美地過濾掉了數字、時間碼、英文字符行和惱人的空行,只留下您真正需要的中文內容。
結語:讓科技為您服務
在這個追求效率的時代,善用像 PowerShell 這樣的小工具,能為我們省下大量重複、枯燥的工作時間。今天分享的這個腳本,希望能幫助所有需要處理大量文本、字幕的朋友們。現在就動手試試看吧!
如果這篇文章對您有幫助,歡迎分享給更多朋友!您還有其他希望自動化處理的任務嗎?在下方留言告訴我,或許下一篇文章就是為您而寫!
正文完