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天前的執行後也不會刪除。這個要去問你身邊懂電腦的朋友遠端一下,這個...