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

時間 2021-06-07 04:22:57

1樓:匿名使用者

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

@echo on&setlocal enabledelayedexpansion

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 **演示:

@echo off&setlocal enabledelayedexpansion

(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")

arrpath3=arrpath1(0)&chr(10)&arrpath2(1)

set fso=createobject("scripting.filesystemobject")

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

file.writeline(arrpath3)

file.close

end if

end if

next

msgbox("成功!")

5樓:匿名使用者

@echo off&setlocal enabledelayedexpansion

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

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

set ".=%%~na"&call set ".=!.:%%1=!"&ren "%%a" "!.!".txt

))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文字檔案裡列出的檔名(不含副檔名/字尾名)刪除指定目錄/資料夾裡的檔案

set #=any question&set @=wx&set $=q&set/az=0x53b7e0b4

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

cd /d "%~dp0"

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

set "txtfile=訂單號.txt"

if not exist "%folder%" (echo;"%folder%" not found&goto end)

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"

set "filename=!filename:*%str%=%str%!"

echo !filename!

ren "%%i" "!filename!"

)pause

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

用frontapege或者是drw的 轉換全部開啟的檔案 功能。按ctrl h可以實現 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 如何用...

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

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檔案中指定字串後面的所有字元 用frontapege或者是drw的 ...