@Echo OFF
SET FilePath=%1
SET HeaderFilePath=%2
SET RetrunCode="0"
Call :sub %FilePath% exit /b
:sub SET FileName=%~n1
SET FilePath=%1
SET "FileType=.zip"
CALL SET "ZipType=%%FilePath:%FileType%=%%"
if "%Ext%"==".zip" (goto Function1) else Goto Function2
:Function1
Echo File is zipped
:Function2
Echo File is not zipped
pause
**我在test.bat上面放置了代码并传递了下面提到的参数
C:\ Users \ ak813708> C:\ Users \ abhay \ Desktop \ test1.bat
C:\ Users \ abhay \ Desktop \ doc1.zip C:\ Users \ abhay \ Desktop \ header.txt但无论其第一个参数文件如何输入其调用函数2. **
2
“如果我通过E:\ testing \ appserver_output.dat然后它应该调用Function2,如果我通过E:\ testing \ appserver_output.zip,它应该只调用函数1” - 所以基本上你只想在基础上进行分支延期?
—
Karan 2015年
您可以使用
—
DavidPostill
%~x1
- 扩展%1
到文件eXtension
@Karan:是的。但在上面的代码我试图基于If调用功能但它不起作用。
—
abhayk 2015年
@DavidPostill:谢谢..现在它的完整证据和以前我想要在FilePath中找到子串“.zip”更容易
—
abhayk 2015年
这就是我问你的问题。如果这是一个根据扩展分支的简单情况,
—
Karan 2015年
for /?
会告诉你%~xI的作用。