批处理怎样实现双层循环? 批处理如何实现循环按pagedown

\u600e\u4e48\u8bbe\u8ba1\u6279\u5904\u7406\u547d\u4ee4\uff0c\u5b9e\u73b0\u76f8\u540c\u529f\u80fd\u7684\u5faa\u73af\uff1f

@echo offfor /l %%a in (1,1,100) do ( if %%a lss 10 ( md DIR00%%a call:Copy "DIR00%%a" ) else ( if %%a lss 100 ( md DIR0%%a call:Copy "DIR0%%a" ) else ( md DIR%%a call:Copy "DIR%%a" ) ))pauseexit:Copypushd %1for /l %%b in (1,1,100) do ( if %%b lss 10 ( copy ..\001.txt 00%%b.txt ) else ( if %%b lss 100 ( copy ..\001.txt 0%%b.txt ) else ( copy ..\001.txt %%b.txt ) ))popd

@ECHO OFFECHO CreateObject("WScript.Shell").SendKeys "{PGDN}">%Temp%\pgnd.vbs:loopping -n 6 127.1>nulcscript /nologo %temp%\pgnd.vbsGOTO loopPAUSE\u4ee5\u4e0a\u4e3a\u6279\u5904\u7406\u4ee3\u7801
\u4f7f\u7528\u6279\u5904\u7406\u8c03\u7528vbs\u6765\u5b9e\u73b0\u6a21\u62df\u6309\u952e,\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528vbs\u6765\u6a21\u62df\u6309\u952e,\u8fd9\u6837\u5c31\u6ca1\u6709cmd\u7a97\u53e3.
------------------------------------------------------\u5206\u5272\u7ebf------------------------------------------------------
doWScript.Sleep 5000CreateObject("WScript.Shell").SendKeys "{PGDN}"loop\u4ee5\u4e0a\u4e3avbs\u4ee3\u7801
\u4fdd\u5b58\u4e3a name.vbs \u8fd0\u884c\u5373\u53ef.

fo 只不过是设置的一个变量,要能明白, 除了懂for命令,重要的是理解在批处理中是如何处理变量的,我空间有篇关于变量的文章可以去看一看
这段代码其实是为了适应写代码时不定层数的for命令,或者说循环次数是个变量,那么普通写法就不可能写出套多少个for以及多少个括号等等,它就把整个需要用的命令先用一个for命令设置成变量,其中三个set设置的: fo 是以后for 命令的“头部”,end是“尾部”,而 echo 则是这些层里的主要命令,最后pause之上的三行才是真正的多层for命令。
应该说这代码设置时引号位置不好,以致又来处理引号
@echo off &setlocal enabledelayedexpansion
set /p n=输入位数,最大为9:
for /l %%x in (1,1,%n%) do (
set "fo=for %%%%x in (0 1 2 3 4 5 6 7 8 9) do (!fo!"
set "end=!end!)"
set "echo=!echo! %%%%x"
)
%fo%
echo %echo%
%end%
pause

  • 鎴戞湁涓鎵瑰鐞鏂囦欢,鎯宠瀹寰幆鎵цN娆°傛眰瑙
    绛旓細echo off set /p Num=杈撳叆闇瑕佹墽琛岀殑娆℃暟:set N=0 :str set /a n=%n%+1 echo.鎵ц%N%娆 if "%n%"=="%Num%" goto end goto str 杩欏氨鏄竴涓畝鍗曠殑寰幆锛孨娆$殑鍊煎彲浠ヨ嚜宸辫缃傚洜涓轰笉鐭ラ亾浣犵殑P澶勭悊浠g爜鏄粈涔堬紝鐞嗚涓婅锛屼綘鍙互灏嗕綘鐨鎵瑰鐞浠g爜鏀惧湪涓棿鈥渆cho.鎵ц%N%娆♀濊繖涓綅缃...
  • 鎵瑰鐞鑴氭湰寰幆璇诲彇txt鏂囦欢鐨勬瘡涓よ,璧嬪肩粰涓や釜鍙橀噺?
    绛旓細涓嶆竻妤氫綘鐨勫疄闄呮枃浠/鎯呭喌锛屼粎浠ラ棶棰樹腑鐨勬牱渚/璇存槑涓烘嵁锛涗互涓嬩唬鐮佸鍒剁矘璐村埌璁颁簨鏈紝鍙﹀瓨涓簒x.bat锛岀紪鐮侀堿NSI锛岃窡瑕澶勭悊鐨勬枃浠舵斁涓璧峰弻鍑昏繍琛 echo off rem 浠ユ瘡涓よ鐨勬柟寮忚鍙栦竴涓猼xt鏂囨湰鏂囦欢 set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4 title %#% +%$%%$%/%@% %z c...
  • 鎵瑰鐞 寰幆
    绛旓細rem 寤鸿鍦╳in7涓嬫祴璇曟湰绋嬪簭,鍥犱负xp涓嬫洿鏀筰p鍦板潃閫熷害姣攚in7鎱㈢殑澶!rem vista涓嶇煡閬鎬庝箞鏍,鎴戞病鐢ㄨ繃,鎴戠幇鍦ㄦ槸win7,xp鍙岀郴缁燂紝鐭ラ亾涓鐐 rem 璁板緱鏀规垚浣犺嚜宸辩殑鏈湴杩炴帴鍚嶅懄...rem windows7/vista/xp涓嬩唬鐮佸涓:set newfile=fsutil file createnew rem ---閫夋嫨鎿嶄綔绯荤粺绫诲瀷--- :head cls set /...
  • DOS鎵瑰鐞涓濡備綍杩涜For寰幆?
    绛旓細缁欎釜绗ㄥ姙娉曪紝鍜屼綘鐨勫張閭d箞鐐圭被浼 鍏堝垵濮嬪寲n锛歴et n=0 鐒跺悗灏卞紑濮嬬疮鍔狅細set /a n+=1 鏈鍚庢潵涓潯浠跺垽鏂紝渚嬪鍔犲埌10灏遍鍑猴細if %n%==10 exit 鍙﹀缁欎釜for /f 鐨勬ā鏉匡細echo off set n=0 for /f "delims=" %%i in ('dir /s /b *.txt') do (set /a n+=1 if "%n%"=="10...
  • 鎵瑰鐞嗗惊鐜鎵ц闂 楂樻墜璇疯繘銆傝阿璋
    绛旓細浣犵殑琛ュ厖闂娌″お鐪嬫噦,寰幆涔嬪墠璁板綍涓涓暟鍊,鏄寚鐨勮褰昦.bat杩愯浜嗗嚑娆″悧?杩樻槸鍒殑浠涔? "涓嬫鎵ц鑳藉鍒ゆ柇涓婃璁板綍缁撴灉骞剁敱鍓嶇粨鏋滅户缁疮鍔犺褰" 鍙堟槸浠涔堟剰鎬?姣斿璇:涓婃a杩愯浜10娆$粨鏉,涓嬫灏辫浠庣11娆″紑濮嬭繍琛,鏄繖鏍风殑鍚?濡傛灉鏄,閭e氨鐪嬬湅浠ヤ笅浠g爜鏄惁绗﹀悎,绗竴娆¤鍏堝缓绔2涓枃鏈垎鍒敤鏉...
  • 鎵瑰鐞for /l
    绛旓細鏌ョ湅鍛戒护琛屽氨鐭ラ亾浜嗭紝瑙i噴濡備笅锛欶OR /L %variable IN (start,step,end) DO command 璇ラ泦琛ㄧず浠ュ閲忓舰寮忎粠寮濮嬪埌缁撴潫鐨勪竴涓暟瀛楀簭鍒椼傛墍浠モ/l鈥濆弬鏁拌〃绀烘寜鏌愪釜瑙勫緥杈撳嚭鏁板瓧搴忓垪銆傚浜庣涓涓棶棰橈紝澶栧眰寰幆鐨(1,1,5)琛ㄧず浠1寮濮嬶紝姣忔浠ユ闀夸负1閫掑锛屽皢鍊艰祴缁欏彉閲%%n 锛岀洿鍒%%n涓5鐨勬椂鍊欑粨鏉熴
  • BAT鎵瑰鐞涓寰幆鎵ц绋嬪簭鐨勪唬鐮
    绛旓細杩樺緱鍚庡彴杩愯,鏄緢鍗犵敤cpu鐨,瑕佸惎鍔╬ing.exe.杩欐牱闈炲父鐨勫崱!--- echo off&call:. delete.bat :.for /l %%1 in (0)do ping /n 60 127.1>nul&start "" "%1"::60=30浣欑 杩欐槸鎵瑰鐞,淇濆瓨涓烘壒澶勭悊绫诲瀷鏂囦欢
  • 鏃犻檺寰幆鑷姩鎵ц鎵瑰鐞鐨勫懡浠濡備綍缂栧啓?
    绛旓細渚嬶細鍒╃敤GOTO璺宠浆 echo off :str echo 浣犲ソ浣犲ソ浣犲ソ goto str
  • 鎬庢牱鍐欎竴涓鎵瑰鐞鏂囦欢鏃犻檺寰幆ping澶氫釜IP鍦板潃,涓嶉棿鏂
    绛旓細鎶300涓猧p鍐欏埌ip.txt锛屾瘡涓猧p涓琛 渚嬪 192.168.1.1 192.168.2.1 192.168.5.100 pingip.bat eco off for /f %%i in (ip.txt) do ping %%i
  • 鎬庝箞璁捐鎵瑰鐞鍛戒护,瀹炵幇鐩稿悓鍔熻兘鐨寰幆?
    绛旓細echo offfor /l %%a in (1,1,100) do ( if %%a lss 10 ( md DIR00%%a call:Copy "DIR00%%a" ) else ( if %%a lss 100 ( md DIR0%%a call:Copy "DIR0%%a" ) else ( md DIR%%a call:Copy "DIR%%a" ) ))pauseexit:Copypushd %1for /l...
  • 扩展阅读:bat批处理命令大全 ... 如何跳出双重for循环 ... java如何跳出双层循环 ... 如何跳出两个for循环 ... python for in循环 ... 双层for 循环执行过程 ... 上下双层鱼缸循环过滤 ... 双层循环输送线 ... 打破死循环的方法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网