怎麼用批處理刪除當前目錄下所有文字檔案中指定字串之前的內容

2021-06-07 04:23:00 字數 4584 閱讀 1492

1樓:匿名使用者

批處理檔案放你那當前目錄下,假定要找的字串是abcd,執行後將把在此之前的所有內容(包括本行之前的及上面所有行)刪去,未找到這字串的文字則不動:

set str=abcd

for /f "delims=" %%i in ('findstr/m /i "%str%" "*.txt"')do (

for /f "tokens=1* delims=:" %%j in ('findstr/n /i "%str%" "%%i"')do (

set hh=%%k

set hh=!hh:%str%=■!

set n=0

call :cot

echo.!hh!>"%%i.yky"

more +%%j "%%i">>"%%i.yky"

del "%%i"

ren "%%i.yky" "%%i"

))pause

exit

:cot

call set hhx=%%hh:~%n%,1%%

if not "!hhx!"=="■" (

set/a n+=1

goto cot )

call set hh=%%hh:~%n%%%

set hh=!hh:■=%str%!

echo.!hh!

goto :eof

如何用 批處理 刪除txt檔案中指定字串後面的所有字元

2樓:匿名使用者

用frontapege或者是drw的“轉換全部開啟的檔案”功能。按ctrl+h可以實現

3樓:匿名使用者

1.txt ------ 2.txt **演示:

(for /f "tokens=*" %%a in (1.txt) do (

set .=%%a&set .=!.:00000=☆!

for /f "delims=☆" %%b in ('echo !.!')do echo %%b

))>2.txt

pause

就如何用批處理命令刪除某個資料夾下所有txt檔案中兩個特定字串間的內容?

4樓:匿名使用者

我暈,是用批處理,剛留位置後,寫成個vb的了,不過我這個支援長檔名路徑,呵呵

下面**儲存為處理.vbs也可以執行

folderpath=inputbox("輸入處理的資料夾","輸入處理的資料夾")

'folderpath="f:\新建資料夾"

set fso=createobject("scripting.filesystemobject")

set folder=fso.getfolder(folderpath)

set files=folder.files

for each fl in files

if right(fl,4)=".txt" then

filename=fl

set objfso = createobject("scripting.filesystemobject")

set objfile = objfso.opentextfile(filename, 1)

strcontents = objfile.readall

objfile.close

if cbool(instr(strcontents,"cde")) and cbool(instr(strcontents,"fgh")) then

arrpath1=split(strcontents,"cde")

arrpath2=split(strcontents,"fgh")

set fso=createobject("scripting.filesystemobject")

set file=fso.opentextfile(filename, 2,ture)

file.writeline(arrpath3)

file.close

end if

end if

next

msgbox("成功!")

5樓:匿名使用者

for /r "d:\abc\" %%a in (*.txt)do (

for /f "tokens=2 delims=cde,fgh" %%1 in ("%%~na")do (

))echo ok&pause

6樓:匿名使用者

批處理 應該可以實現你的要求 不過這個批處理可能要點時間 除錯好後在給你 現在這裡留個位先 對批處理有興趣吧 一起學習呀

7樓:

直接用檔案管理專家完美實現,用了就知道!

8樓:匿名使用者

txt 批量修改替換器,網上多的是,搜下好了

9樓:

要用專門的工具的 我傳給你?

如何批處理刪除檔名中指定字元前的部分內容?

10樓:匿名使用者

如果檔名中的日期格式全部遵循yyyymmdd***的話,下面的**可以解決你這個問題:

@echo off

setlocal enabledelayedexpansionfor /f "delims=? tokens=* eol=?" %%a in ('dir /b *.

txt') do (

set f=%%a

set "f=!f:~-15!"

rename %%a !f!

)echo done.

pause>nul

請把此批處理放在待處理檔案旁執行,執行前請先做好備份,以防萬一。

求批處理命令,批量刪除指定文字內含有指定字串的檔案

11樓:

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

複製貼上到記事本,另存為xx.bat,編碼選ansi,跟txt檔案放一起執行

@echo off

rem 根據一個txt文字檔案裡列出的檔名(不含副檔名/字尾名)刪除指定目錄/資料夾裡的檔案

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

cd /d "%~dp0"

set "folder=c:\users\administrator\desktop\資料夾"

set "txtfile=訂單號.txt"

for /f "delims=" %%a in ('type "%txtfile%"') do (

for /f "delims=" %%b in ('dir /a-d/b "%folder%\*%%a*.*" 2^>nul') do (

echo;"%folder%\%%~nxb"

del /a /f /a "%folder%\%%~nxb"))

:end

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

pause

exit

12樓:依夢琴瑤

@echo off & title 批量刪除指定檔案 by 依夢琴瑤cd /d "%~dp0"

::設定資料夾路徑

set folderdir=test

::設定列表檔案

set list=訂單號.txt

for /f "usebackq delims=" %%a in ("%list%") do if exist "%folderdir%\*%%~a*" del /f /q "%folderdir%\*%%~a*"

pause

儲存為bat字尾名的指令碼檔案,和訂單號.txt放在一起,**中的資料夾路徑請自行修改

關於批量刪除檔名中特定字串前的內容批處理改進

13樓:匿名使用者

@echo off

setlocal enabledelayedexpansionset /p str=請輸入要刪除哪個字串前的內容:

for %%i in ("*%str%*") do (set "filename=%%i"

echo !filename!

ren "%%i" "!filename!"

)pause

批處理刪除檔案的命令是什麼,怎麼用

是手機還是電腦,手機上在選單中選標記多個,選好後按刪除。電腦上點第一個檔案按shif鍵點最後一個,選好後點滑鼠右鍵點刪除 刪除檔案的命令是del用法 del 檔名 刪除指定的檔案,支援萬用字元。del 刪除目錄下所有檔案 del 檔案路徑或者erase 檔案路徑後面可帶引數,具體引數del p f ...

怎樣用批處理批量刪除多個檔名中的指定文字

for f ain dir a b s windir 123 dodel f q a a用上面的方法可以刪除除了長檔名的檔案 例如123目錄裡有 1.txt和新建 文字文件.txt 用上面的方法它只會刪1。txt,新建 文字文件.txt這個刪不了 可以使用軟體,如notpad 使用方法,看引用部分 ...

怎樣用批處理執行刪除某個資料夾中10天之前的檔案

echo off pushd d 某個資料夾 for f skip 10 tokens i in dir b o d rar do del f i 保留最新的10個rar其餘的刪除。不是按日期刪除,如果rar檔案數不到10個即使有10天前的執行後也不會刪除。這個要去問你身邊懂電腦的朋友遠端一下,這個...