我有两个目录,一个有一个inputs.properties
文件,这个文件中的一个属性是script_properties_path
。我的任务是从这个属性中获取路径,并列出所有的文件,这些文件又是不同的属性文件集。现在我必须从路径中的每个文件中读取所有属性并执行一些操作。我能够读取属性,但当我将它们设置为一些变量时,我得到空字符串。inputs.properties:
WORKSPACE_DIR=C:Workspace_LSV
PACKAGES_PATH=QA_AUTO_SELENIUMSeleniumAutomation2.0
RESULTS_DIR=C:Results
PROPERTIES_DIR=D:WorkProjectsxECMBatchRunnertemp
文件在D:WorkProjectsxECMBatchRunnertemp:
LSV1.properties
LSV2.properties
lsv - 437 - _lsv - 436. -属性:
FILENAME=/cs/gui/tests/admin/auditing/AuditTestVersionAndFuncMenuItems.java
CLASSNAME=cs.gui.tests.admin.auditing.AuditTestVersionAndFuncMenuItems
LS_435.properties:
FILENAME=/cs/gui/tests/admin/auditing/TestAuditingShortcut.java
CLASSNAME=cs.gui.tests.admin.auditing.TestAuditingShortcut
我代码:
@echo "batch program"
@echo off
For /F "tokens=1* delims==" %%A IN (inputs.properties) DO (SET %%A=%%B)
IF "%%A"=="WORKSPACE_DIR" SET WORKSPACE_DIR=%%B
IF "%%A"=="PACKAGES_PATH" SET PACKAGES_PATH=%%B
IF "%%A"=="PROPERTIES_DIR" SET PROPERTIES_DIR=%%B
IF "%%A"=="RESULTS_DIR" SET RESULTS_DIR=%%B
IF "%%A"=="BROWSER" SET BROWSER=%%B
IF "%%A"=="APP_URL" SET APP_URL=%%B
IF "%%A"=="CLASSPATH" SET CLASSPATH=%%B
@echo "WORKSPACE_DIR %WORKSPACE_DIR%"
@echo "PACKAGES_PATH %PACKAGES_PATH%"
@echo "PROPERTIES_DIR %PROPERTIES_DIR%"
@echo "RESULTS_DIR %RESULTS_DIR%"
@echo "BROWSER %BROWSER%"
@echo "APP_URL %APP_URL%"
FOR %%D in (%PROPERTIES_DIR%*.*) DO (
@echo "FILE:%%D "
For /F "tokens=1* delims==" %%E IN (%%D) DO (set %%E=%%F)
IF "%%E"=="FILENAME" SET FILENAME=%%F
IF "%%E"=="CLASSNAME" SET CLASSNAME=%%F
@echo %FILENAME%
@echo %CLASSNAME%
)
cmd /k
输出:
"batch program"
"WORKSPACE_DIR C:Workspace_LSV"
"PACKAGES_PATH productscompqa.auto.selenium22.4.0-branchpkgQA_AUTO_SELENIUMOT_SeleniumAutomation2.0"
"PROPERTIES_DIR D:WorkProjectsxECMBatchRunnertemp"
"FILE:D:WorkProjectsxECMBatchRunnertempLSV-437_LSV-436.properties "
ECHO is off.
ECHO is off.
"FILE:D:WorkProjectsxECMBatchRunnertempLS_435.properties "
ECHO is off.
ECHO is off.
当我运行以下代码时:
FOR %%D in (%PROPERTIES_DIR%*.*) DO (
@echo "FILE:%%D "
For /F "tokens=1* delims==" %%E IN (%%D) DO (
IF "%%E"=="FILENAME" SET FILENAME=%%F
IF "%%E"=="CLASSNAME" SET CLASSNAME=%%F
@echo %%E
@echo %%F
@echo %FILENAME%
@echo %CLASSNAME%
)
)
输出是:
"batch program"
"WORKSPACE_DIR C:Workspace_LSV"
"PACKAGES_PATH productscompqa.auto.selenium22.4.0-branchpkgQA_AUTO_SELENIUMOT_SeleniumAutomation2.0"
"PROPERTIES_DIR D:WorkProjectsxECMBatchRunnertemp"
"RESULTS_DIR C:Results"
"BROWSER chrome"
"APP_URL https://otcs2.xsogpreprod.opentext.cloud/cs/cs"
"FILE:D:WorkProjectsxECMBatchRunnertempLSV-437_LSV-436.properties "
FILENAME
/CSTests16_2/src/com/opentext/auto/cs/gui/tests/admin/auditing/AuditTestVersionAndFuncMenuItems.java
ECHO is off.
ECHO is off.
CLASSNAME
com.opentext.auto.cs.gui.tests.admin.auditing.AuditTestVersionAndFuncMenuItems
ECHO is off.
ECHO is off.
"FILE:D:WorkProjectsxECMBatchRunnertempLS_435.properties "
FILENAME
/CSTests16_2/src/com/opentext/auto/cs/gui/tests/admin/auditing/TestAuditingShortcut.java
ECHO is off.
ECHO is off.
CLASSNAME
com.opentext.auto.cs.gui.tests.admin.auditing.TestAuditingShortcut
ECHO is off.
ECHO is off.
...
FOR %%D in (%PROPERTIES_DIR%*.*) DO (
@echo "FILE:%%D "
For /F "tokens=1* delims==" %%E IN (%%D) DO (set %%E=%%F)
rem Redundant IF "%%E"=="FILENAME" SET FILENAME=%%F
rem Redundant IF "%%E"=="CLASSNAME" SET CLASSNAME=%%F
)
@echo %FILENAME%
@echo %CLASSNAME%
cmd /k