日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)DOS手冊:for的一些bug

1、關于冒號:當某行內容以 : 打頭時,用 for /f "tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do echo.%%j 會把 : 過濾掉;

為平陽等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及平陽網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為做網(wǎng)站、網(wǎng)站制作、平陽網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

2、關于分號:findstr .* test.txt 可以把以分號打頭的行完整顯示出來,但是,用在for語句中就不能找到了,必須加上參數(shù)/n才可以,似乎是for語句會把以分號打頭的行當作注釋內容忽略掉,好象不是findstr的錯;而不放在for語句中的 type、more和findstr都是可以的;

解決問題1和問題2的方案有:

稍微復雜一點的:

@echo off

:: 不會忽略空行

for /f "delims=" %%i in ('findstr /n .* test.txt') do (

    set "str=%%i"

    call set "str=%%str:*:=%%"

    call echo "%%str%%"

)

pause

最簡潔的:

@echo off

:: 此代碼會忽略空行

for /f "delims= eol=" %%i in (test.txt) do echo %%i

pause

3、在for擴展中,%%~si 表示擴充的路徑只含短文件名,但是在以下的測試過程中,卻發(fā)現(xiàn)真正的情況并非如此:

測試環(huán)境:

--------------------------------------------------------------------------------

D:\abcdefg hijk\abcd efgh.txt

D:\abcdefg hijk\te st.txt

測試代碼:

--------------------------------------------------------------------------------

@echo off

for /f "delims=" %%i in ('dir /a /b *.txt') do echo %%~si

pause

測試結果:

--------------------------------------------------------------------------------

D:\ABCDEF~1\ABCDEF~1.TXT

D:\ABCDEF~1\TEST~1.TXTtxt

看到測試結果的最后一條記錄了嗎?居然擴展到了 TEST~1.TXTtxt !

總結了一下出錯的情形,似乎是這樣的:當路徑中有超過一個的地方因為目錄名超過11個字符而擴充到短文件名的時候,文件名+后綴名 少于11個字符且?guī)Э崭竦奈募蜁l(fā)生擴展錯誤。

                                                           —— namejm


本文標題:創(chuàng)新互聯(lián)DOS手冊:for的一些bug
網(wǎng)站路徑:http://www.dlmjj.cn/article/dhodeos.html