批處理刪除文字里每行後幾位字元,怎麼用批處理刪除檔案後面幾個字元

2022-02-04 07:09:10 字數 3209 閱讀 1767

1樓:匿名使用者

@echo off

for /f "delims=" %%a in ('dir /a-d /b *.txt') do (

(for /f "usebackq tokens=1* delims=-" %%b in ("%%a") do (

echo.%%b

))>$

move $ "%%a"

)將多個txt檔案和這個批處理集中放在同一個資料夾中,執行此批處理

2樓:伈雨

儲存為vbs型別檔案

dim fso,file_suffix,spath,sfile,read,string_arr(),count,list,textintercept,filterstring,file_list

stringintercept="----" '需要處理的字串

file_suffix="txt"        '需要處理的文字檔案字尾名

set fso=createobject("scripting.filesystemobject")

for each file_list in fso.getfolder(".").files '遍歷資料夾內的檔案

if fso.getextensionname(file_list.name)=file_suffix then '判斷字尾名

erase string_arr '刪除陣列

count=0   '重置元素

read=fso.opentextfile(file_list).readall '讀取全文

textintercept=split(read,vbcrlf) '擷取字串

for each list in textintercept '遍歷全文

redim preserve string_arr(count) '重定義陣列

string_arr(count)=split(list,stringintercept)(0) '將返回結果賦值給變數陣列

count=count+1 '新建元素

next

filterstring=join(string_arr,vbcrlf) '合併陣列

fso.createtextfile(file_list).write filterstring '寫入檔案

end if

next

set fso=nothing '釋放記憶體

3樓:匿名使用者

txt檔名是從1開始排序嗎???這樣的話比較簡單,加個分隔符就搞定了

4樓:匿名使用者

for /f "delims=----" %%a in 帳號和密碼.txt do %%a>>帳號.txt應該可行吧?for讀取----前面的字串,再輸入到新文件裡

怎麼用批處理刪除檔案後面幾個字元?

5樓:

檔案內容,想要批量處理,可以選擇pdf。如果是檔案字尾名

步驟一:檢視或顯示檔案字尾名,方法一:右鍵選擇檔案「屬性」,即可檢視檔案的型別。

方法二:點選左下角的「開始鍵-控制面板-資料夾選項」,然後點選「檢視」,找到「隱藏已知資料夾型別的副檔名」取消勾選,點選應用,就可以直接顯示檔案的字尾名。

步驟二:修改檔案字尾名,方法一:直接選擇檔案,右鍵選擇「重新命名」或者按住鍵盤「f2」鍵修改。

方法二:案例一,假如要把gif檔案批量修改成為jpg檔案,在需要修改的資料夾中,右鍵新建一個「文字文件」,開啟文字文件後在裡面輸入「ren(空格)*.gif(空格)*.

jpg」的內容,設定好之後儲存檔案,同時把這個文字你文件改成「.bat」字尾名的檔案,設定好之後點選執行剛剛那個bat檔案,就可以看到gif檔案全變成jpg檔案了。

案例二,資料夾裡有不同型別的檔案,需要統一批量修改字尾名,在該檔案中新建一個文字文件,開啟文字文件,輸入「ren(空格)*.*(空格)*.gif」,設定好之後儲存檔案,同時把這個文字文件改成「.

bat」字尾名的檔案,然後點選執行該檔案,就可以全部修改字尾名了。

案例三,,如果批量修改不同路徑的檔名字尾,首先複製資料夾的路徑,在任意的資料夾上新建一個文字文件,開啟文件,輸入「cd(空格)檔案的路徑ren*.gif(空格)*.jpg」,設定好之後儲存檔案,把文字文安定改成「.

bat」字尾名的檔案,然後執行檔案即可完成。

6樓:

不清楚你的實際檔案/情況,僅以問題中的說明和猜測為據

複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的檔案放一起執行@echo off

rem 刪除檔名中的指定字串

mode con lines=3000

title %#% +%$%%$%/%@% %z%

(echo;set fso=createobject^("scripting.filesystemobject"^)

echo;do while wsh.stdin.atendofstream=false

echo;    s=wsh.stdin.readline

echo;    set f=fso.getfile^(s^)

echo;    oldname=f.name

echo;    newname=replace^(oldname, wsh.arguments^(0^), "", 1, -1, 1^)

echo;    wsh.echo s ^& "|" ^& newname

echo;loop)>"%tmp%\v.v"

set "delstr=333.123.001"

for /f "tokens=1* delims=|" %%a in ('dir /a-d/b/s^|cscript -nologo -e:vbscript "%tmp%\v.v" "%delstr%"') do (

if "%%~nxa" neq "%~nx0" (

if /i "%%~nxa" neq "%%b" (

echo;"%%a" --^> "%%b"

ren "%%a" "%%b"))

):end

echo;%#% +%$%%$%/%@% %z%

pause

exit

7樓:匿名使用者

一個資料夾下的檔案?

發**,具體路徑看一下。

如何使用批處理刪除文字中的前兩列

echo off for f delims a in dir a d b s d txt do for f usebackq tokens 3 b in a do echo b move a pause 幾萬個檔案,建議匯入access 中 用sql 處理 後 匯出txt檔案 批處理中怎樣刪除一個文...

批處理更改文字內容

注意的地方 複製貼上後要修改一下第2行,如下 for f tokens 1,2 delims i in 2.txt do 其中的delims 貼上時會把製表位當做空格處理,所以你要把delims 後面空格刪除後按tab鍵加入一個製表位,估計樓上那位的 你複製後沒修改這行才會沒反應。下面這個速度應該會...

批處理中怎樣刪除文字檔案的第n行

原文字為 來1.txt,輸出到2.txt,指 自定bai刪除第15行 要求每du行不超過 zhi1024字元 daoecho off set n 15 setlocal enabledelayedexpansion 1.txt 2.txt for l i in 2 1 n do set t set ...