我需要更改文件中定义的路径,即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
现在我想要的是编辑文件并将变量即folderLocation设置为路径 或者用简单的话来找到并替换路径 。 e.g: -
'folderLocation'\\standalone\\uploads
并且在duster.properties的每条路径中都是明智的。 是否有可能在批处理脚本中?实际上我对批处理脚本没有很好的了解。
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
这适用于您的示例数据,并使用来自 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855
的名为repl.bat
的帮助程序批处理文件
@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"
答案 1 :(得分:-1)
使用父路径方法 文件 currentPath = 新文件(dir.getParent()) String currentFolder= currentPath.getName().toString()