无忧启动论坛

标题: 求高手帮我看看代码错哪儿了 [打印本页]

作者: ycw565    时间: 2011-6-30 10:18
标题: 求高手帮我看看代码错哪儿了
cls
@echo off
@cls
@color 0A
title
@ECHO.  正在安装文件...
@ECHO.
@pushd "%~dp0"
set cs=%cd%
call :reg gif89.dll "%windir%\system32\"
call :reg msado15.dll "%CommonProgramFiles%\System\ado\"
@ECHO.
pause
goto :eof

:reg
set w=%1         
set w=%w:~0,15%
set /p a=  %w% <nul
set path=%2
set path=%path:~1,-1%
copy /y "%cs%\bin\%1" "%path%%1" >nul 2>&1
regsvr32 /s "%path%%1"
echo 完成
goto :eof
作者: ycw565    时间: 2011-6-30 10:20
gif89.dll 可以成功
但是msado15.dll不行,主要输路径有空格了
作者: 2010_zheng    时间: 2011-6-30 16:38
用错了path这个内置变量了,随便换一下path为其它如path1就可以了。
作者: ycw565    时间: 2011-6-30 18:51
标题: 回复 #3 2010_zheng 的帖子
不行啊,换了变量名一样的错误
作者: x9tian    时间: 2011-6-30 22:11
原帖由 ycw565 于 2011-6-30 10:20 发表
gif89.dll 可以成功
但是msado15.dll不行,主要输路径有空格了


楼上的兄弟:

   直截说你要 做成什么效果就得了。

  尽做些无用的截取。  
  要是让一个批处理集成七八种不同的操作,像你这样神仙都会搞死去。
作者: 2010_zheng    时间: 2011-7-1 01:37
你和代码运行结果:
  正在安装文件...

  gif89.dll       完成
  msado15.dll     'regsvr32' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
完成

请按任意键继续. . .


把path换成path1后的代码:
cls
@echo off
@cls
@color 0A
title
@ECHO.  正在安装文件...
@ECHO.
@pushd "%~dp0"
set cs=%cd%
call :reg gif89.dll "%windir%\system32\"
call :reg msado15.dll "%CommonProgramFiles%\System\ado\"
@ECHO.
pause
goto :eof

:reg
set w=%1         
set w=%w:~0,15%
set /p a=  %w% <nul
set path1=%2
set path1=%path1:~1,-1%
copy /y "%cs%\bin\%1" "%path1%%1" >nul 2>&1
regsvr32 /s "%path1%%1"
echo 完成
goto :eof


运行结果:
  正在安装文件...

  gif89.dll       完成
  msado15.dll     完成

请按任意键继续. . .

作者: ycw565    时间: 2011-7-1 12:16
标题: 回复 #6 2010_zheng 的帖子
regsvr32 /s "%path1%%1"

把这句改成

regsvr32  "%path1%%1"

就发现实际是运行失败的
作者: 2010_zheng    时间: 2011-7-1 14:48
原帖由 ycw565 于 2011-7-1 12:16 发表
regsvr32 /s "%path1%%1"

把这句改成

regsvr32  "%path1%%1"

就发现实际是运行失败的


不知道你指的实际运行失败的提示是什么?我这里倒是试运行了一下,除了因为gif89.dll不存在而提示出错,不存在当然出错了,其它的倒不见什么问题。你的电脑出现什么出错提示才方便知道哪一句出错。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3