2016-06-28 79 views
1

如果我下面跑批文件,則是工作,7ztimeout是公認Windows批處理:無法識別的命令

FOR %%A IN (% C:\dfsdf_asdffd\dd_etgvssd%\*.axml) DO (
setlocal 
set filename=%%A 
call :tests 
) 
exit /b 

:tests 
set newname=%filename:~14% 
set transname=%filename:~25% 
timeout 5 
7z e %newname% 
move *.xml Agile_Original.xml 
exit /b 

但是如果我在下面跑批文件,則cmd是說,7ztimeout無法識別。

For /F "tokens=1* delims==" %%A IN (Input_values.properties) DO (
    IF "%%A"=="path" set path=%%B 
    IF "%%A"=="url" set url=%%B 
    IF "%%A"=="username" set username=%%B 
    IF "%%A"=="password" set password=%%B 
    IF "%%A"=="location" set location=%%B 
) 
FOR %%A IN (% C:\dfsdf_asdffd\dd_etgvssd%\*.axml) DO (
    setlocal 
    set filename=%%A 
    call :tests 
    ) 
    exit /b 

    :tests 
    set newname=%filename:~14% 
    set transname=%filename:~25% 
    timeout 5 
    7z e %newname% 
    move *.xml Agile_Original.xml 
    exit /b 

正如你看到的我只是增加了一個循環,從properties文件中讀取內容

+0

是7Z在PATH環境變量?我在你的例子中找不到「超時」 –

+0

@FlorianStraub增加了'timeout',並且是7z在我的路徑變量中。當我沒有'屬性'文件提取運行,然後它正在執行。 – nawazlj

+1

不要使用'%path%'作爲用戶變量。這是一個系統變量,告訴Windows在哪裏可以找到它的可執行文件。將其更改爲另一個名稱。 – Stephan

回答

4

不使用%path%爲用戶變量。這是一個系統變量,告訴Windows在哪裏可以找到它的可執行文件。將其更改爲另一個名稱。

(同樣適用於%username%,雖然它不是 critcal))