我正在尝试修改批处理脚本,该脚本将简单的脚本文件安装到用户photoshop目录中。使用批处理文件将文件复制到photoshop目录
安装程序的基本过程是将大部分产品文件复制到%APPDATA%文件夹中,然后该批处理脚本运行后安装,将一个小钩子脚本复制到photoshop \ presets \ scripts中。但是,我们遇到了未在某些客户机器上定义%APPDATA%的问题,检查它是否存在然后设置它是否是不好的做法,如果不是,如果不是,您将如何最好地设置它以计算不同版本的Windows ?
我也采取了一个相当颠簸的'reg查询'之路,试图找到一个一致的密钥,photoshop设置为了找到“路径”这是安装目录,但我想知道什么最好的做法也是如此。
这里是我的,有一些Vista的许可文物
@echo off
rem | locate photoshop by querying the registry
echo Locating your photoshop installation..
set regpath="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Photoshop.exe"
set regval="Path"
set photoshop_path=
rem | accumlate the path from the query
for /f "tokens=2,* delims= " %%A in ('reg query %regpath% /v %regval%') do (
set photoshop_path=%%B
)
rem | get rid of the last hanging space
set photoshop_path=%photoshop_path:~0,-1%
echo found photoshop at %photoshop_path%
set script_path=%photoshop_path%Presets\Scripts\script.jsx
echo Removing existing copies of script.jsx..
if exist "%script_path%" del "%script_path%"
echo ...Done!
echo Installing script.jsx to Photoshop Scripts directory... %script_path%
if exist "%photoshop_path%Photoshop.exe copy "%APPDATA%\My Company\etc\script.jsx" "%script_path%"
echo Done!
rem | some fix for vista permissions
ver | find "XP" > nul
if %ERRORLEVEL% neq 0 goto exit
echo Setting permissions for Vista...
echo ...Taking ownership of files...
takeown /f "%APPDATA%\My Company" /r /d y
echo ...Granting write access to files...
icacls "%APPDATA%\My Company" /grant Users:F /t
echo Done!
:exit
echo Creating Product Library entry in folderlist.cfg
echo Product Library=%APPDATA%\My Company\library>>"%APPDATA%\My Company\etc\folderlist.cfg"
echo Done!
然而当前工作版本,出现问题时,该键不存在,所部署的只是蛮力试图每一个已知位置的Photoshop可能是当前的解决方案(基于%PROGRAMFILES%/%PROGRAMFILES(x86)%变量)。对于更强大和更一致的脚本的任何帮助都非常感谢,以及有关安装程序产品可能最适合在十字架中部署此类脚本的任何建议 - 平台的方式(主要是Mac/Windows)