2013-03-26 123 views
3

我只是簡單地將文本文件中的所有文本都替換爲大寫。Windows批處理文件讀取文本文件並全部轉換爲大寫

例如中的abc.txt

[前轉換] 姓,名,全名 布拉德·皮特,布拉德·皮特

FIRST名字,姓氏[轉換後],FULL NAME BRAD,PITT,BRAD PITT

這可能嗎?

+2

Lookie這裏:http://benohead.com/batch-convert-to-uppercase/ – 2013-03-26 22:28:08

+1

請不要!像這樣的例子是許多人認爲批處理語言是簡陋和粗糙的原因... – Aacini 2013-03-27 02:21:40

+0

@Aacini:我很好地理解你的觀點。對您的評論+1。讓我們希望沒有人模仿引用的代碼。而且......批語不是簡陋和粗俗的嗎?真!? :)嗯...是的。它是。很抱歉說出不想要的事實! :) – BaldEagle 2016-05-20 02:04:35

回答

6

下的批處理文件做你想做的,但如果要轉換的文件較大時這種方法很慢...

@echo off 
setlocal EnableDelayedExpansion 
for /F "delims=" %%a in (%1) do (
    set "line=%%a" 
    for %%b in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
     set "line=!line:%%b=%%b!" 
    ) 
    echo !line! 
) 

要使用該程序,可以將文件名中的第一個參數。例如,如果這個批處理文件名爲TOUPPER.BAT:

toupper abc.txt 

注意,此計劃消除空行和文件中的任何感嘆號存在。如果需要,這些限制可以是固定的,但程序變得更慢......

安東尼

+0

哦,我的上帝!有效!!!我的文件只有幾行,所以我沒有任何性能問題! – 2013-03-27 14:27:06

+0

'!line:%% b = %% b!'如何工作?在cmd中字符串替換是否區分大小寫? – 2017-05-10 02:58:31

+0

@LưuVĩnhPhúc:是的 – Aacini 2017-05-10 03:40:25

相關問題