2013-08-28 252 views
0

這個腳本有什麼問題?爲什麼這個批處理腳本不能正常工作?

@echo off 

SETLOCAL ENABLEEXTENSIONS 
SETLOCAL ENABLEDELAYEDEXPANSION 

set /P start= Input start : %=% 
set /P end= Input End : %=% 

for /l %%i IN (%start%,1,%end%) DO (
    set num=0%%i 
    set num=!num:~-2! 
    echo wget "http://portal/excel!num!.xls" 
) 
pause 

如果Input start = 01Input End = 06,做工精細和excel下載的文件。結果:

Input start : 01 
Input End : 12 
wget "http://portal/excel01.xls" 
wget "http://portal/excel02.xls" 
wget "http://portal/excel03.xls" 
wget "http://portal/excel04.xls" 
wget "http://portal/excel05.xls" 
wget "http://portal/excel06.xls" 
wget "http://portal/excel07.xls" 
wget "http://portal/excel08.xls" 
wget "http://portal/excel09.xls" 
wget "http://portal/excel10.xls" 
Press any key to continue . . . 

但如果Input start = 01Input End = 08或 如果Input start = 01Input End = 09,不做工精細和Excel文件未下載。結果:

Input start : 01 
Input End : 08 
Press any key to continue . . . 

任何人都可以提供一些解釋嗎?

回答

3

前導零表示數字被解釋爲八進制數。 0-7無關緊要,但不存在八進制8或9之類的數字。您已經使用2 SET命令添加前導0,因此不要輸入前導零。

+0

感謝ü非常 – flyingbird013

2

這是一種解決方法:

@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION  
set start=101 
set end=199 

for /l %%i IN (%start%,1,%end%) DO (
    set num=!num:~-2! 
    echo wget "http://portal/excel!num!.xls" 
) 
相關問題