如何用批處理bat將多個檔案中的指定字串刪除

2021-06-07 04:22:59 字數 3892 閱讀 5678

1樓:

不清楚你的實際檔案/情況,僅以問題中的樣例/說明為據

以下**複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的檔案放一起執行

<# :

cls@echo off

rem 根據一個指定文字檔案裡列出的多個字串,將多個txt文字檔案內的這些字串刪除

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

cd /d "%~dp0"

powershell -noprofile -executionpolicy bypass "invoke-command -scriptblock ([scriptblock]::create([io.file]::

readalltext('%~f0',[text.encoding]::default))) -args '%~dp0'"

echo;%#% +%$%%$%/%@% %z%

pause

exit

#>$path=$args[0];

$newfolder=$path+"#result";

$wordsfile=$path+"deletewords.log";

if(-not (test-path -liter $wordsfile));

if(-not (test-path -liter $newfolder));

$files=@(dir -liter $path|?);

$enc=[text.encoding]::default;$n=[char]([int]'56');

$wordslist=[io.file]::readalllines($wordsfile, $enc);

for($i=0;$i -lt $files.length;$i++);

if(($i+1) -le [int]$n.tostring());}

求批處理命令,批量刪除指定文字內含有指定字串的檔案

2樓:

不清楚你的實際檔案/情況,僅以問題中的樣例/說明為據

複製貼上到記事本,另存為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

3樓:依夢琴瑤

@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放在一起,**中的資料夾路徑請自行修改

如何用 批處理命令 刪除 文字檔案 指定的幾個行

4樓:逝雪藍冰

linux命令(windows下可以安裝一個git):

find *.txt |xargs sed -i '2,10d'

批量刪除資料夾中所有的txt檔案的第二行至第十行。

我也遇到了這個問題,已通過這條命令解決。

5樓:匿名使用者

for /f "tokens=*" %%i in ('dir /a-d/b *.txt') do (

set temp_var=%%i

for /f "tokens=*" %%j in (!temp_var!) do (

set /a n+=1

>!name!.txt) else (

if !n! neq 2 (

if !n! neq 3 (

if !n! neq 4 (

if !n! neq 5 (

if !n! neq 6 (

if !n! neq 7 (

if !n! neq 8 (

if !n! neq 9 (

if !n! neq 10 (

echo %%j>>!name!.txt))

))))

))))

)set /a n=0

)***********************************==**結束***************====

將你處理的txt文件和批處理放在一個資料夾內,執行即可。

希望對你有幫助,望採納!謝謝

批處理怎麼批量提取多個txt裡的指定內容?

6樓:匿名使用者

這個不用批處理也可以的。用dos命令:

把所有的txt放在一個資料夾。然後執行合併所有txt到一個sum檔案命令:copy *.txt sum.txt

然後開啟sum.txt,ctrl + h,替換ctrl + h,替換">

為空。即可。

7樓:

不清楚你的實際檔案/情況,僅以問題中的樣例/說明為據

複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的檔案放一起執行<# :

cls@echo off

rem 從多個txt文字檔案裡提取指定特徵的字串內容

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

cd /d "%~dp0"

powershell -noprofile -executionpolicy bypass "invoke-command -scriptblock ([scriptblock]::create([io.file]::

readalltext('%~f0',[text.encoding]::default))) -args '%~dp0'"

echo;%#% +%$%%$%/%@% %z%

pause

exit

#>$path=$args[0];$enc=[text.encoding]::utf8;

$files=@(dir -liter $path|?);

for($i=0;$i -lt $files.length;$i++);};

bat 批處理檔案將指定字元替換

暈你何必 費用 批處理呢。直接用記事本 開啟 替換不就ok了。批處理實現批量替換檔名中的字串。bat批量移除檔名中指定字元 1 右鍵單擊需要刪除的檔案,然後選擇屬性選項。2 之後在屬性介面找到安全,然後單擊安全,接著單擊安全下方的。3 然後將新彈出介面中間的 authenticated users的...

如何用批處理刪除多個tt內特定字元

echo off setlocal enabledelayedexpansion for f tokens i in txt do if i echo.else set line i call chg new 1.txt pause exit chg set line line 女 set line...

使用批處理檔案bat實現刪除和複製檔案

可以這樣的 echo off rd g cd1 s q md g cd1 xcopy d cd2 g cd1 e比如g cd1 是行動硬碟乙個目錄,cd2是d盤某資料夾。意思是 刪除cd1所有檔案,包括cd1,然後建立cd1。然後複製所有檔案,包含空資料夾到cd1中。del刪除乙個或數個檔案。del...