我正在嘗試修改批處理腳本,該腳本將簡單的腳本文件安裝到用戶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)