
BAT批處理變量字符截取的幾個問題最近初學批處理,看了一些教程,受益匪淺。看 小樓一夜聽春雨 的變量字符截取點點通 代碼有幾個地方不懂,求大神指點呀set var=1234567890set num= for /l %%i in (1 1 3) do call :dan %%i:danset shu=%1if %shu% lss 0 (set aa=取&set ji=最后) else set aa=舍棄&set ji=第if %shu:~0,1%==- set shu=%shu:~1%::下句改為set str1=var:~%1%num%,輸出好像沒變,原文這么寫有什么深意嗎?set str1=%%var:~%1%%%num%set str2=%aa%var的%ji%%shu%位%nums%::下句是在做什么?call和set連用的作用又是什么?按我理解好像應該這么寫set str3=%%var%:~%1%%num%用括號括起來清楚點表示就是(%(%var%):~(%1)%)%num%call set str3=%%var:~%1%%%num%::下句call的作用是什么,%...%與%%...%%有什么區別?call echo %str1:~0,15% %%str2:~0,30%% %%str3:~0,15%%::下句是什么意思?goto :eof另外,寫了一個查找 當前目錄下 文件名為5個字符的 txt文件 的代碼,有比較簡潔的寫法嗎?如果添加不查找子目錄的條件,是應該將之前獲得的路徑與%cd%相比較么?@echo off&setlocal enabledelayedexpansionset judge=YESfor /r %%i in (?????.txt) do (for /r %%j in (????.txt) do if %%i==%%j set judge=NOif !judge!==YES echo %%iset judge=YES)pause謝謝!

