标题: [文件操作] 请教将软件安装过程批处理化? [打印本页]
作者: 1e3e 时间: 2012-3-20 10:36 标题: 请教将软件安装过程批处理化?
本帖最后由 1e3e 于 2012-3-20 20:39 编辑
已知:
某软件安装并不写注册表,只是向系统增加文件。
通过工具监视得到某软件安装增加了如下文件,见1.txt。
1.txt的内容是:
C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb.manifest
C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb.cat
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\8.0.50727.163.policy
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\8.0.50727.163.cat
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC804997\8.0.50727.163.cat
现在要通过批处理来模拟这个软件安装过程,使这个软件绿色化,怎么做?
作者: CrLf 时间: 2012-3-20 16:56
本帖最后由 CrLf 于 2012-3-20 17:33 编辑
标题修改后基本符合版规,故将原警告贴删除,感谢支持
作者: 1e3e 时间: 2012-3-20 17:31
请不要用“高难度”这类毫无意义的标题,标题应能简要说明帖子内容,既方便坛友浏览,也方便日后搜索
因楼 ...
CrLf 发表于 2012-3-20 16:56
版主说的很有道理,我改了,呵呵
另外烦你看一下,能给出解决方法么?谢谢
作者: CrLf 时间: 2012-3-20 17:36
这些文件从何处获取?
作者: 1e3e 时间: 2012-3-20 17:54
这些文件从何处获取?
CrLf 发表于 2012-3-20 17:36
晕,安装某个软件后只是增加了如下文件:
C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb.manifest
C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb.cat
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\8.0.50727.163.policy
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\8.0.50727.163.cat
现在能不能用批处理把这些文件复制出来,再在一个新系统中用批处理复制这些文件到相应的路径下,这样就可以不用再点安装主程序安装这个软件了
(也就是说实现软件绿化)
作者: find 时间: 2012-3-20 18:53
回复 5# 1e3e
你第一次安装完毕之后不就得到这几个文件了吗。
以后再(绿色)安装的时候,把它们跟bat放在一起,在bat里面把它们复制到指定目录即可。
作者: apang 时间: 2012-3-20 19:03
分两步,第一步,第一次安装完毕之后复制文件:- @echo off
- pushd "%~dp0"
- md software 2>nul
- for /f "delims=" %%a in (1.txt) do (
- copy /y "%%a" "software\"
- )
复制代码
第二步,将下面代码保存为bat,与复制好的文件(夹)一起做成自解压式的安装文件:- @echo off
- pushd "%~dp0"
- for /f "delims=" %%a in (1.txt) do (
- copy /y "software\%%~nxa" "%%~dpa"
- )
复制代码
楼主看咋样?
作者: 1e3e 时间: 2012-3-20 20:39
分两步,第一步,第一次安装完毕之后复制文件:第二步,将下面代码保存为bat,与复制好的文件(夹)一起做成 ...
apang 发表于 2012-3-20 19:03
代码不错,可是不同路径下可能有同名文件:
比如:
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\8.0.50727.163.cat
C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC804997\8.0.50727.163.cat
作者: find 时间: 2012-3-20 21:02
回复 8# 1e3e
这两个同名文件的内容是否相同呢?
作者: apang 时间: 2012-3-21 09:22
回复 8# 1e3e
那这样呢?
1.- @echo off
- pushd "%~dp0"
- md software 2>nul
- for /f "delims=" %%a in (1.txt) do (
- xcopy /h /r /s /y "%%a" "software%%~pa"
- )
复制代码
2.- @echo off
- pushd "%~dp0"
- for /f "delims=" %%a in (1.txt) do (
- xcopy /s /h /r /y "software%%~pnxa" "%%~dpa"
- )
复制代码
作者: 1e3e 时间: 2012-3-22 12:48
回复 1e3e
这两个同名文件的内容是否相同呢?
find 发表于 2012-3-20 21:02
内容并不相同
作者: 1e3e 时间: 2012-4-1 22:53
回复 1e3e
那这样呢?
1.2.
apang 发表于 2012-3-21 09:22
非常感谢呀,最近忙,没过来看
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |