-
最好發布文字內容。
-
cd .>d:\
for /f "delims=" %%a in (d:\ do (if "%%a"=="cba" set begin=0if !begin!
1 echo %%a >>d:\if "%%a"=="abc"設定開始=1)如果你只想輸出一行帶數字的行,那麼你只需要乙個命令 findstr"^[0-9][0-9]*$" d:\>d:\
-
假設您呼叫此文件,輸出為 。
echo off
for /f "tokens=2 delims=:" %%a in ('findstr /b "command:" ') do echo %%a)>
-
已新增回覆:
如果你確保第一行是你想要的標題,而不是空行或其他東西,那麼它應該是一樣的
echo off
for %%a in ("*.txt") do (call:changname "%%a")
goto :eof
changname
goto:eof
問題是 2:1為什麼要跳過 skip=2 的前 2 行?
這是乙個迴圈,如果你不停止它,它會繼續執行,雖然理論上不會再影響任,但它是非常耗費資源的。
請注意,如果使用 usebackq 引數,則必須新增 %1""因此,for 認為它是乙個檔案,並且還新增了以下檔案,以便在路徑包含空格時不會發生錯誤。
如果不確定第一行是不是空白的,可以參考一樓哥哥判斷的陳述(略有改動):
for ..
setlocal enabledelayedexpansion
set "var=%%i"
if defined var (ren "%1" "%%" & goto :eof)
set var=)
發現問題,房東說半途而廢更正確,問題出在第一句話上。
for %%a in (*txt) do (call:changname "%%~a")
更改檔名時,for 將再次遍歷更改後的檔案,因此請先導出檔名,然後再更改,第一段更改如下:
echo off
dir /b *.txt>>%temp%\
for /f "usebackq delims=" %%a in ("%temp%\") do (call:changname "%%a")
goto :eof
-
for /f "tokens=1 " %%i in ( do set b=%%i
這句話可以完成房東的意思:
然後新增重新命名語句,或者使用房東的批量生成 沒關係,但房東知道這裡有乙個優先權:
只有看完“中國日消費量22345”一行,才會有“中國日消費量檔案”。
所以上面指的是你的批處理的檔名,開始處理文字的標記列。
如果你再嘗試幾次,你就會發現。
此外,這句話不能在 dos 下執行
-
命令列:“第一行字元”。 txt”。
老實說,我不太明白你的意圖。
-
一批就可以了。
echo off
for /f "delims=|" %%a in ('findstr /i "abcd" ""') do (>echo %%a)
pause
-
:: 程式碼以 set a k=1 開頭
beginset /a co=0
for /f "tokens=*" %%a in (c:\!k!.txt) do (
if !co!==1 goto :beginecho %%a>>d:\
set /a co=1,k+=1)
pause:程式碼結束
echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" ""') do ( >>>More
將 1000 個檔案從資料夾 A 移動到資料夾 1、2、3 並替換為 123,因為 bcde 和其他專案不容易操作。 >>>More