|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
『楼 主』:
通过bat来生成VBS来创建的快捷方式 目的地址有误
谁能帮下我,现在出现一个这样的问题, 创建快捷方式后, 目标地址有错误。少了几位字符。
我的批处理如下:
因为要在普通用户下安装PROE。所以 我用runas的方式调用另一个批处理。
1.bat 没问题。 输完管理密码后 调用2.bat 但是 现在2.bat 创建VBS ,通过VBS来创建快捷方式,目标地址 由Z:\ProeWildfire3.0\bin\proe1.bat 变成了 Z:\ProeWild.0\bin\proe1.bat 中间少了 fire3 这几个。
但是如果我直接在windows下运行这个VBS生产的快捷方式正常!
由于需要更改环境变量,普通用户是没有权限修改的所以通过runas来修改。
1.bat
@echo off
net use z: \\172.18.125.6\apps
runas /user:administrator \\172.18.123.41\proe\1\path.bat
输完密码后 执行下面的 2.bat
2.bat
@echo off
cls
set path_=Z:\ProeWildfire3.0\bin
set /p e_=请输入员工工号:
for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path'),do,(
echo 当前的环境变量为:
echo %%c
set yesno=y
if /i "!yesno!"=="y" (
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%%c;%path_%" /f
)
//------- 以上是修改环境变量, 下面是在 D盘创建用户的 PORE个人配置,和生成 proe的快捷方式。
md d:\proeuser
md d:\proeuser\%e_%
)
cd d:\proeuser\%e_%
d:
dir
//---这里开始 创建快捷方式, 很奇怪。 我单独把这个 VBS拿出来在windows下执行 是可以的。。 但是通过 BAT 来 生成和执行。发现 目的 地址 有错误。
set shortCutPath="d:\proeuser\%e_%\ProeWildfire3.0.lnk"
echo Dim WshShell,Shortcut>>d:\proeuser\%e_%\tmp.vbs
echo Dim path,fso>>d:\proeuser\%e_%\tmp.vbs
echo path="Z:\ProeWildfire3.0\bin\proe1.bat">>d:\proeuser\%e_%\tmp.vbs
echo Set fso=CreateObject("Scripting.FileSystemObject")>>d:\proeuser\%e_%\tmp.vbs
echo Set WshShell=WScript.CreateObject("WScript.Shell")>>d:\proeuser\%e_%\tmp.vbs
echo Set Shortcut=WshShell.CreateShortCut(%shortCutPath%)>>d:\proeuser\%e_%\tmp.vbs
echo Shortcut.TargetPath=path>>d:\proeuser\%e_%\tmp.vbs
echo Shortcut.Save>>d:\proeuser\%e_%\tmp.vbs
d:\proeuser\%e_%\tmp.vbs
del d:\proeuser\%e_%\tmp.vbs
谁能帮我 解决这个问题? 为什么通过 BAT 执行这个VBS生产的 快捷方式 目的地址是错误的。 ?? 而直接执行这个VBS却正常?
还有 这个VBS生成的快捷方式没有起始地址。。我想在给这个 快捷方式 添加 起始地址怎么加???
|
|
2009-6-3 01:42 |
|
|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
『第
2 楼』:
或者能否给个更好的 修改环境变量和创建快捷方式修改快捷方式的 目标地址和起始地址的方法??
小弟在这先谢了。
|
|
2009-6-3 01:46 |
|
|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
|
2009-6-3 02:20 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
4 楼』:
你用BAT生成的VBS
和你的VBS确定没有区别的?没有少什么符号。
这样说吧,echo出来的VBS,自己双击能创建快捷方式么?
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2009-6-3 02:53 |
|
|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by slore at 2009-6-3 02:53:
你用BAT生成的VBS
和你的VBS确定没有区别的?没有少什么符号。
这样说吧,echo出来的VBS,自己双击能创建快捷方式么? |
|
去确认过。
直接在BAT 里执行出来的 目的地址是 Z:\ProeWild.0\bin\proe1.bat
而 echo出来的 VBS,我在去双击打开这个VBS 生成的快捷方式 地址是 Z:\ProeWildfire3.0\bin\proe1.bat
你可以把我发的代码执行一下看看就知道了。
[ Last edited by wwx0423 on 2009-6-3 at 03:17 ]
|
|
2009-6-3 03:12 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
6 楼』:
我双击也不行。。。只显示8个。。。字母然后.0
和P生成的是一样的目录
貌似第一个目录会只截8个字母。。。(8.3规则=。=)
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2009-6-3 03:31 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
7 楼』:
知道问题了。。。
不存在的路径就会出错。你确定你运行的那个目标电脑用这个路径麽?
Z盘,是映射提前映射了麽
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2009-6-3 03:36 |
|
|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
『第
8 楼』:
Quote: | Originally posted by slore at 2009-6-3 03:31:
我双击也不行。。。只显示8个。。。字母然后.0
和P生成的是一样的目录
貌似第一个目录会只截8个字母。。。(8.3规则=。=) |
|
不会啊。。 我双击 正常啊。
我的系统是英文版SP3 。 我双击可以但是BAT 就不行。 字母后面.0了。
|
|
2009-6-3 05:13 |
|
|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by slore at 2009-6-3 03:36:
知道问题了。。。
不存在的路径就会出错。你确定你运行的那个目标电脑用这个路径麽?
Z盘,是映射提前映射了麽 |
|
Z盘 在 第一个1.bat就映射了。 映射是没问题的。
|
|
2009-6-3 05:14 |
|
|
wwx0423
初级用户
积分 33
发帖 30
注册 2009-2-19
状态 离线
|
『第
10 楼』:
有谁有其他什么办法解决 我这个问题吗? 创建快捷方式地址有问题。
|
|
2009-6-3 07:04 |
|