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的 ...