如果我在批处理文件下运行,那么它就可以工作,并且可以识别 7z
和 timeout
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
会说 7z
,无法识别 timeout
。
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
文件中读取内容
最佳答案
不要使用 %path%
作为用户变量。它是一个系统变量,告诉 Windows 在哪里可以找到它的可执行文件。将其更改为其他名称。
(同样适用于 %username%
,虽然它不是那个关键))
关于Windows 批处理 : Command not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38069197/