校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > for命令的一些bug分析

for命令的一些bug分析

熱門標簽:廣州云外呼系統公司 中國地圖標注省份顏色 云南旅游地圖標注app 谷歌地圖標注時間 岳陽縣地圖標注app 地圖標注銷售數據 地圖標注位置有用嗎 百應ai電話機器人銷售怎么樣 好的人工智能電話機器人
1、關于冒號:當某行內容以 : 打頭時,用 for /f "tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do echo.%%j 會把 :
過濾掉;

  2、關于分號:findstr .* test.txt 可以把以分號打頭的行完整顯示出來,但是,用在for語句中就不能找到了,必須加上參數/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 表示擴充的路徑只含短文件名,但是在以下的測試過程中,卻發現真正的情況并非如此:

  測試環境:
--------------------------------------------------------------------------------
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個字符且帶空格的文件就會發生擴展錯誤。

標簽:宜昌 三明 鄭州 天門 南京 東營 周口 三沙

巨人網絡通訊聲明:本文標題《for命令的一些bug分析》,本文關鍵詞  for,命令,的,一些,bug,分析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《for命令的一些bug分析》相關的同類信息!
  • 本頁收集關于for命令的一些bug分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大洼县| 常州市| 黄浦区| 漯河市| 吴川市| 巴马| 公主岭市| 凯里市| 兴国县| 开江县| 巴里| 都江堰市| 禹城市| 集贤县| 泗阳县| 鄱阳县| 红原县| 日照市| 安图县| 赫章县| 德江县| 山东省| 渑池县| 织金县| 来安县| 鹿泉市| 洞头县| 宁南县| 峨边| 翁牛特旗| 灌云县| 南靖县| 珠海市| 县级市| 九龙城区| 甘洛县| 浏阳市| 上饶市| 富川| 麻栗坡县| 长丰县|