这个批处理脚本有什么问题?

我一直试图build立一个批处理脚本,应该做到以下几点:

首先,安装一个exe文件,最好安静地(当然,检查它是否已经安装)。 然后遍历到.net框架安装的位置。 遍历之后,它应该设置卡斯波尔权利和regasm。 然后复制一些快捷方式和一个检查文件(看看是否已经完成)。

有没有人有任何想法,为什么这是行不通的? 当我通过复制粘贴到我的命令行来执行命令时,一切正常,但脚本运行时不会。

有什么不对的build议,以及一些改进将不胜感激。

REM Upgrade RS Framework 2.0V @echo off if exist "C:\CheckNet.txt" GOTO END P:\RS\Klient\PClient.exe cd\ cd C:\Windows\Microsoft.NET\Framework\v2.0.50727 caspol -machine -addgroup 1. -url \\Domain\Program\RS\* FullTrust -n RS -s on regasm \\Domain\Program\RS\TE.HCW.PRS.RS.Wrapper.dll copy \\Domain\Program\TE\RS\ClientInstallation\CheckNet.txt c:\ COPY "\\Domain\Program\shortcut\RS\*.*" "c:\Documents and settings\All Users\Desktop" :END 

我的猜测是你没有明确地将驱动器设置为“C:”。 有可能当脚本运行时,它的当前工作目录不在c:盘上。

更新 :完整path调用caspol和regasm

尝试这个:

 REM Upgrade RS Framework 2.0V @echo off if exist "C:\CheckNet.txt" GOTO END P:\RS\Klient\PClient.exe C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol -machine -addgroup 1. -url \\Domain\Program\RS\* FullTrust -n RS -s on C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm \\Domain\Program\RS\TE.HCW.PRS.RS.Wrapper.dll copy "\\Domain\Program\shortcut\RS\*.*" "c:\Documents and settings\All Users\Desktop" copy \\Domain\Program\TE\RS\ClientInstallation\CheckNet.txt c:\ :END 

如果脚本找不到CASPOL或REGASM,则脚本运行的path可能与命令窗口运行的path不同。 在命令窗口中键入set path来查看Windows将search查找文件的path。 三种方法来解决它:一)更新脚本运行的环境二)添加一个设置path命令脚本设置CASPOL行之前的path。 三)使用CASPOL和REGASM上的完整path,如c:\ directorypath \ CASPOL ….