软件绿化之dos命令之路径


软件绿化之dos命令之路径
 
软件绿化使用bat文件,必然会涉及到获取各种路径,例如安装路径,系统目录之类的问题。这些主要通过相对路径和环境变量。
 
例如如下的目录结构
 
    SogouInput\
 
                       \6.6.0.9394\
 
                        \6.6.0.9394\SogouPy.ime
                        \6.6.0.9394\SogouTSF.dll
                        \scd\
 
                       1.reg
 
                       env.ini
 
                      scdlist.ini
 
                      安装.bat
 
运行  安装.bat,由于要进行一些敏感操作,所以必须以管理员权限运行,否则不能注册DLL,写注册表,复制文件到系统目录下,但以管理员权限运行后
 
当前目录改变为系统目录下的System32,也就是cmd命令的路径,所以需要切换当前路径。
 
首先切换到当前目录也就是ogouInput\下,使用cd /d %~dp0 rem 切换到当前目录
 
则SogouPy.ime的目录就是6.6.0.9394\SogouPy.ime,SogouTSF.dll的目录就是6.6.0.9394\SogouTSF.dll,其他依次类推
 
SogouPy.ime 需要复制到系统目录下,则必须使用环境变量
 
copy 6.6.0.9394\SogouPy.ime  %WINDIR%\System32\SogouPy.ime  rem 复制文件到系统System32下
copy env.ini %UserProfile%\AppData\LocalLow\SogouPY\env.ini rem 复制到用户文件夹下的AppData\LocalLow\下
start  %WINDIR%\explorer.exe                      rem 重启系统目录下的explorer.exe 桌面进程
完整的搜狗输入法bat文件
 
[plain] 
cd /d %~dp0 rem 切换到当前目录,由于以管理员权限运行,不知道什么原因,当前目录改变为系统目录下的System32下,而不是bat文件所在的目录  
taskkill  explorer.exe          rem 结束桌面进程  
regsvr32 6.6.0.9394\SogouTSF.dll  rem 注册DLL  
copy 6.6.0.9394\SogouPy.ime  %WINDIR%\System32\SogouPy.ime  rem 复制文件  
copy env.ini %UserProfile%\AppData\LocalLow\SogouPY\env.ini rem 复制文件  
copy scdlist.ini %UserProfile%\AppData\LocalLow\SogouPY\scdlist.ini rem 复制文件  
copy env.ini %UserProfile%\AppData\LocalLow\SogouPY\env.ini  rem 复制文件  
xcopy  scd %UserProfile%\AppData\LocalLow\SogouPY\scd  /s /i /e   rem 复制文件夹  
start 1.reg                                               rem 调用注册表文件  
start  %WINDIR%\explorer.exe                      rem 重启桌面进程  
pause  
 
常见环境变量
%ALLUSERSPROFILE% 局部 返回所有“用户配置文件”的位置。
%APPDATA% 局部 返回默认情况下应用程序存储数据的位置。
%CD% 局部 返回当前目录字符串。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根目录(即系统根目录)的驱动器。
%SYSTEMROOT% 系统 返回 Windows XP 根目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其它应用程序则需要 TMP。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回操作系统目录的位置。
%CommonProgramFiles% 返回操作系统CommonProgramFiles目录的位置
 
%SystemDrive%
操作系统所在的分区号。如 C:
%windir%
操作系统根目录。如 C:\WINDOWS
%ALLUSERSPROFILE%
相当于 C:\Documents and Settings\All Users
%APPDATA%
相当于 C:\Documents and Settings\用户目录\Application Data
%ProgramFiles%
相当于 C:\Program Files
%CommonProgramFiles%
相当于 C:\Program Files\Common Files
%HOMEDRIVE%
操作系统所在的分区号。如:C:
%HOMEPATH%
相当于 \Documents and Settings\用户目录
%USERPROFILE%
相当于 C:\Documents and Settings\用户目录

相关内容

    暂无相关文章