bat批处理,怎么让D盘所有TXT文件(包括子目录)的名称变成TXT文件所在的D盘根目录下文件夹的名称

2025-03-11 04:47:26
推荐回答(3个)
回答1:

因为改名后文件名一样,所以你要确保每个子文件夹里面最多只有一个txt文件哦
@echo off
for /f "delims=" %%f in ('dir /b /s D:\*.txt') do (
for /f "tokens=2 delims=:\" %%a in ('echo %%f') do ren "%%f" "%%a.txt"
)

回答2:

这是读取utf8文本
Dim Mazmun As String
Dim strFileName As String
strFileName = "c:\aa.txt"
Dim a
Set a = CreateObject("ADODB.Stream")
a.Charset = "utf-8"
a.Open
a.LoadFromFile strFileName
Mazmun = a.ReadText
a.Close
MsgBox Mazmun

下面是更改编码:
Dim Mazmun As String
Dim strFileName As String
strFileName = "c:\aa.txt"
Dim a
Set a = CreateObject("ADODB.Stream")
a.Charset = "utf-8"
a.open
a.LoadFromFile strFileName
Mazmun = a.ReadText
a.Close
Dim stm
Set stm = CreateObject("adodb.stream")
stm.Type = 2
stm.mode = 3
stm.Charset = "gb2312"
stm.open
stm.WriteText Mazmun
stm.SaveToFile strFileName, 2
stm.flush
stm.Close
Set stm = Nothing
MsgBox "utf8转换了GBK

回答3:

同意楼上的说法