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

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

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

如何用批處理檔案刪除某個檔案,如何用批處理查詢某個檔案,然後在刪除這個檔案?

在文字文件裡輸入西面這段 cdc documents andsettings administrator 桌面rd新建資料夾.儲存為bat格式的檔案 就ok了!cd是指定一個目錄 rd是刪除指定資料夾 del f a q 1 rd s q 1 把上面這段複製到記事本里,然後改檔名為 將畸形檔案拖到我...

關於批處理用迴圈算加法,bat批處理for迴圈累加問題

按你說的 echo off setlocal enabledelayedexpansionset b 0 set a 0 line3 set a b b 1 set a a b if a lss 10 goto line3echo a pause 按你所要求的 echo off setlocal e...

自動刪除指定登錄檔命令,如何批處理刪除登錄檔內的某一項

你是要刪除這三個certificates licstorage rng登錄檔項以及所有子項和鍵值呢還是隻刪除這三個登錄檔項下的所有子項和鍵值?這是刪除這三個登錄檔項以及其下的所有子項和鍵值的 echo offreg delete hklm software microsoft systemcerti...