批量刪除多個txt文件中指定的多行內容的批處理求指點迷津下面代碼是意思是批量刪除多個txt文件中指定的多行內容,本人在學習,有些地方不懂,請版主與各位指教!先謝。1. 為什么要在for循環中的do語句中設置一個變量x ? x=!x! 的含義是什么(我知道 “!!”是變量延遲中引用的變量的意思)?不明白變量為什么是同一個字母x,要給自己?2.請較詳細解釋一下下面整個for循環語句的含義。(本人理解sed語句的意思是刪除txt中指定的行,即變量x所指代的行)3.作者在下面代碼中 3>nul含義是什么? 一般要表示不顯示正確或與錯誤的執行結果要用 1>nul 2>nul嗎?nclick="copycode($('code0'));">復制代碼
- @echo off 2>nul 3>nul
- SetLocal EnableDelayedExpansion
- set/p v=請輸入要刪除的行號并回車,若指定多行請用空格隔開(如:2 5 8):
- for %%i in (%v%) do set x=!x! %%i
- sed -i '%x%d' *.txt
- pause