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

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

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++);};

如何用批處理的命令判斷,用批處理 命令怎麼寫

echo off 設定檔名,你可以自行修改。findstr i g name1 name2 name3 for f i in name1 do set str i for f a in name3 do set var a if str var echo name2 中包含有 name1 的內容 e...

如何用批處理測試是否斷網

echo off for f delims i in ping do echo i find request timed out.1 nul 2 nul echo 網路已經斷開!goto end echo 網路正常!endpause ping 下閘道器或者是外網。點選 開始 執行 打上cmd 然後在...

如何用批處理檔案刪除某個檔案

1 開啟相關資料夾,可發現資料夾中有相關檔案。2 在任意位置,通過滑鼠右鍵新建一個txt文字文件。3 開啟txt文字,編輯輸入del g 0 f s q a pause並儲存。其中g 0是需要刪除的資料夾版絕對路徑,可根據實際更改 4 將文字字尾txt更改為bat,並確定。 del f a q 1 ...