0

我需要更改文件中定义的路径,即duster.properties使用我想要的路径位置。

文件即duster.properties内容:-

 com.test.import.uploadDirectory=C:\\progra~2\\Test\\Demo\\jboss7\\standalone\\uploads
 com.test.import.maxFilesUploadNumber=10

com.test.etl.pluginsRootDirectory=C:\\progra~2\\Test\\Demo\\jboss7\\standalone\\cloverETL\
\plugins
 com.test.etl.templatesDirectory=C:\\progra~2\\Test\\Demo\\jboss7\\standalone\\etl
 com.test.db.user=postgres
 com.test.db.pass=password
 com.test.addressdoctor.customerID=149374
 com.test.addressdoctor.password=apr2511
 com.test.addressdoctor.maxi.customerID=146890

正如您在duster.properties 中看到的那样,该位置是硬编码的

   C:\\progra~2\\Test\\Demo\\jboss7\\standalone\\uploads

但我可以在系统中的任何位置找到我的 jboss7 位置,即 C 驱动器或 D 驱动器。

我可以使用以下代码搜索 jboss7 的位置并将其路径设置为变量名,即“folderLocation”。

 @echo off

for /f "delims=" %%a in (' dir "c:\jboss7" /b /s /ad ') do if /i "%%~nxa"=="jboss7" set
"folderLocation=%%a"

if not defined folderLocation for /f "delims=" %%a in (' dir "d:\jboss7" /b /s /ad ')
do if /i "%%~nxa"=="jboss7" set "folderLocation=%%a"
echo "%folderLocation%"
pause

现在我想要编辑文件并将变量 ie folderLocation 设置为路径,或者简单地说查找并替换路径。
. 例如:-

'folderLocation'\\standalone\\uploads

在duster.properties的每条路径中同样明智。批处理脚本可以吗?实际上我对批处理脚本没有很好的了解。

任何帮助将不胜感激。

4

2 回答 2

1

repl.bat这适用于您的示例数据并使用从 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855调用的帮助程序批处理文件

@echo off
set "newpath=d:\\stuff\\and\\widgets"
type "duster.properties" | repl "(Directory=).*(\\\\standalone\\\\)" "$1%newpath%$2" >"duster.properties.tmp"
move "duster.properties.tmp" "duster.properties"
于 2013-09-20T06:50:51.937 回答
-1

使用父路径方法 File currentPath = new File(dir.getParent()) String currentFolder= currentPath.getName().toString()

于 2021-05-06T11:34:32.803 回答