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

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

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

用批處理處理垃圾,用批處理處理垃圾檔案

你將會看到一個批處理程式,基本上由del和for兩個命令組成。基本框架和原理是很簡單的 用for來迴圈所有的驅動器和目錄,用del來刪除目標檔案。先看一下 for i in c d e do cd d i for j in filename1,filename2,filename3 do del j...

批處理move命令怎麼用

把d盤的1.txt移動到e盤 move d 1.txt e 用 1.txt替換1.txt move 1.txt 1.txt 要移動至少一個檔案 move y y drive path filename1 destination 要重新命名一個目錄 move y y drive path dirnam...

photoshop的批處理怎麼用

一 首先我們得製作自己需要的動作命令 第一步,先開啟photoshop,選中 視窗 動作 命令,開啟動作命令視窗。此時,動作命令欄裡只有預設命令序列和一些預設動作。第二步,執行 檔案 開啟 動作,任意開啟一張 單擊動作命令欄 建立新動作 快捷命令圖示,此時就會在 預設動作 的序列下建立新動作,出現的...