标题: [其他] 请帮忙,批处理更改下面路径为当前文件夹路径 [打印本页]
作者: 000 时间: 2012-11-15 17:04 标题: 请帮忙,批处理更改下面路径为当前文件夹路径
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Softimage\CoExistence\D:|software|3D|Softimage 2013 SP1|Application|bin]
"AppDllPath"="D:|software|3D|Softimage 2013 SP1|Application|bin"
"AppName"="SOFTIMAGE Application"
"AppVersion"="11.1.57.0"
"DllPathEnvVar"="SUMATRAPATH"
"SicorePath"="D:|software|3D|Softimage 2013 SP1|Application|bin"
"StormPath"="D:|software|3D|Softimage 2013 SP1|Application|bin"
作者: BAT-VBS 时间: 2012-11-15 17:39
请教一下为何路径里面都是|而不是\呢?
作者: apang 时间: 2012-11-15 18:47
本帖最后由 apang 于 2012-11-16 13:57 编辑
- @echo off
- set "P=%~dp0"
- set "P=%P:\=|%"
- set "P=%P:~,-1%"
- set "V=D:|software|3D|Softimage 2013 SP1|Application|bin"
- reg export "HKLM\SOFTWARE\Wow6432Node\Softimage" "%temp%\$"
- reg delete "HKLM\SOFTWARE\Wow6432Node\Softimage" /f
- (for /f "delims=" %%a in ('type "%temp%\$"') do (
- set "str=%%a"
- setlocal enabledelayedexpansion
- set "str=!str:%V%=%P%!"
- echo,!str!
- endlocal
- ))>"%temp%\$.reg"
- reg import "%temp%\$.reg"
- del "%temp%\$.*"
- pause
复制代码
以管理员权限运行,试一下看
作者: 000 时间: 2012-11-16 10:32
感谢 apang ,有个问题,
每个路径后面多了一个“|” 怎么去掉?
作者: apang 时间: 2012-11-16 14:03
已修改,试一下
作者: 000 时间: 2012-11-19 12:46
本帖最后由 000 于 2012-11-19 12:51 编辑
感谢 apang 。
还有2个问题要请教您。
1.批处理导入注册表文件,怎么写?
用下面2种命令都不管用。
reg import "%cd%\regedit64\software.reg"
regedit /s "%cd%\regedit64\software.reg"
2.bat中上上级目录怎么表示?
3.能不能用批处理修改另一个bat文件里的路径?
如下面的文件- set _XSIDIR=C:\Program Files\Autodesk\Softimage 2013 SP1
- set _XSIBINDIR=%_XSIDIR%\Application\bin
- set _EXITCODE=0
-
- cd /d "%_XSIBINDIR%"
- "%_XSIBINDIR%\sireg.exe" -setcoex "%_XSIBINDIR%\sireg.dll" "%_XSIBINDIR%\sireg.dll"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setcoex "%_XSIBINDIR%\sireg.dll" "%_XSIBINDIR%\dotxsi.dll"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setcoex "%_XSIBINDIR%\sireg.dll" "%_XSIBINDIR%\suminfo.dll"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\sireg.dll" "Root Locations\InstallRoot" reg_sz "%_XSIDIR%"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\sireg.dll" "Hardware\Audio\Cache Path" reg_sz "cache"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\sireg.dll" "Hardware\Audio\SI Audio Hal\Hardware\Wave\Active" reg_dword 1
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\sireg.dll" "Interactive Cache\Active" reg_dword 0
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\sireg.dll" "HProductInfo\PSS EMail" reg_sz "XSIData@softimage.com"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\sireg.dll" "User Preferences\Run-Time Stats Active\Default Value" reg_dword 1
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\suminfo.dll" "Root Locations\ArchivesRoot" reg_sz "%_XSIDIR%\Data\DSArchives"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\suminfo.dll" "Root Locations\CommonRoot" reg_sz "%_XSIDIR%\Data\DSPresets"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\suminfo.dll" "Root Locations\InstallRoot" reg_sz "%_XSIDIR%"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\suminfo.dll" "Root Locations\MainRoot" reg_sz "%_XSIDIR%\Data\XSI_SAMPLES"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\suminfo.dll" "Root Locations\ScriptsRoot" reg_sz "%_XSIDIR%\Application\DSScripts"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\sireg.exe" -setval "%_XSIBINDIR%\suminfo.dll" "Resources\Path" reg_sz "%_XSIDIR%\Application\rsrc"
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\cmdreg.exe" -f "%_XSIBINDIR%\XSICOMDLLs.lst"
-
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\cmdreg.exe" -f "%_XSIDIR%\Application\Plugins\PLUGINSCOMDLLs.lst"
-
- if ERRORLEVEL 1 set _EXITCODE=1
-
- "%_XSIBINDIR%\SIisOS.exe" -vista+
- if ERRORLEVEL 1 goto PreVista
- netsh advfirewall firewall add rule name="XSI" dir=in action=allow program="%_XSIBINDIR%\XSI.exe" enable=yesgoto Done_netsh
- :PreVista
- netsh firewall add allowedprogram "%_XSIBINDIR%\XSI.exe" XSI ENABLE
- :Done_netsh
-
- if NOT "%_EXITCODE%"=="0" goto Failure
-
- :Success
- echo Succeded
- goto Done
-
- :Failure
- echo Failed
-
- :Done
- set _XSIDIR=
- set _XSIBINDIR=
-
- exit /B %_EXITCODE%
复制代码
作者: apang 时间: 2012-11-19 18:01
回复 6# 000
1.reg import 和regedit /s 都可以呀,win7系统要bat右键以管理员权限运行
2.bat中上上级目录怎么表示?
比如目录路径为E:\ABC\DEF\GHI\JKL
for %%a in ("E:\ABC\DEF\GHI\JKL\..\..") do echo,%%~fa
可以得到上上级目录路径
3.能不能用批处理修改另一个bat文件里的路径?
能。。。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |