[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
你的路径是否正确?

TOP

本帖最后由 pcl_test 于 2016-1-3 19:15 编辑

回复 15# nevergiveup520

保存为vbs运行,把结果贴出来
  1. Set objws = wscript.CreateObject("Wscript.Shell")
  2. msgbox "桌面:"& objws.SpecialFolders("Desktop")&vbCrLf&"VBS所在路径:"& objws.CurrentDirectory
复制代码

TOP

本帖最后由 pcl_test 于 2016-1-3 22:02 编辑

回复 18# nevergiveup520

居然没有权限,试试以管理员身份运行或者换到其他盘,再或者看看D:\Users\Desktop文件夹,右键,属性>安全,添加当前用户并赋予相应权限

TOP

回复 20# nevergiveup520


    不是,说的是你生成快捷方式的批处理

TOP

回复 23# nevergiveup520

保存为vbs运行
  1. Set objws = wscript.CreateObject("Wscript.Shell")
  2. '换到其他盘试试
  3. Set objLink = objws.CreateShortcut("E:\123.lnk")
  4. objLink.Save
复制代码

TOP

本帖最后由 pcl_test 于 2016-1-4 16:57 编辑

保存为vbs运行,测试对桌面文件夹是否有相应权限
  1. Set objws = wscript.CreateObject("Wscript.Shell")
  2. desktop = objws.SpecialFolders("Desktop")
  3. Set objLink = objws.CreateShortcut(desktop&"\123测试.lnk")
  4. objLink.Save
  5. msgbox "桌面:"& desktop
复制代码

TOP

保存为bat运行,对照检测用
  1. ' 2>nul 3>nul&cls&@echo off
  2. '&for /f "delims=" %%i in ('dir /a-d /b *.exe') do cscript -nologo -e:vbscript "%~f0" "%%~ni" "%%~fi"
  3. '&pause&exit /b
  4. Set objws = wscript.CreateObject("Wscript.Shell")
  5. Desktop = objws.SpecialFolders("Desktop")
  6. '在H盘创建快捷方式
  7. Set objLink1 = objws.CreateShortcut("H:\" & WScript.Arguments(0) & ".lnk")
  8. objLink1.TargetPath = WScript.Arguments(1)
  9. objLink1.Save
  10. '在桌面创建快捷方式
  11. Set objLink2 = objws.CreateShortcut(Desktop & "\" & WScript.Arguments(0) & ".lnk")
  12. objLink2.TargetPath = WScript.Arguments(1)
  13. objLink2.Save
复制代码

TOP

本帖最后由 pcl_test 于 2016-1-4 21:52 编辑

回复 29# nevergiveup520
  1. ' 2>nul 3>nul&cls&@echo off
  2. '&echo;批处理所在路径:%~pd0
  3. '&for /f "delims=" %%i in ('dir /a-d /b *.exe') do cscript -nologo -e:vbscript "%~f0" "%%~ni" "%%~fi"
  4. '&pause&exit /b
  5. Set objws = wscript.CreateObject("Wscript.Shell")
  6. Desktop = objws.SpecialFolders("Desktop")
  7. '在桌面创建快捷方式
  8. lnk = Desktop & "\" & WScript.Arguments(0) & ".lnk"
  9. Set objLink = objws.CreateShortcut(lnk)
  10. objLink.TargetPath = WScript.Arguments(1)
  11. WSH.echo lnk & vbCrLf &"程序所在路径:" &WScript.Arguments(1)
  12. objLink.Save
复制代码

TOP

本帖最后由 pcl_test 于 2016-1-4 22:24 编辑

回复 31# nevergiveup520
30楼代码运行结果发出来,别发些没用的截图

TOP

本帖最后由 pcl_test 于 2016-1-4 23:56 编辑

回复 33# nevergiveup520

保存为vbs运行,出现提示框,点确定即可
  1. Set fso = CreateObject("scripting.filesystemobject")
  2. Set objws = wscript.CreateObject("Wscript.Shell")
  3. desktop = objws.SpecialFolders("Desktop")
  4. t = "桌面:"& desktop& vbCrLf &"VBS所在路径:"& objws.CurrentDirectory & vbCrLf
  5. Set Folder = fso.GetFolder(objws.CurrentDirectory)
  6. Set Files = Folder.Files
  7. For Each f In Files
  8.     Ext = LCase(fso.GetExtensionName(f))
  9.     IF Ext = "exe" Then
  10.         lnk = Desktop & "\" & Left(f.Name, InStrRev(f.Name, ".")-1) & ".lnk"
  11.         Set objLink = objws.CreateShortcut(lnk)
  12.         objLink.TargetPath = f
  13.         objLink.Save
  14.         msgbox t & lnk & vbCrLf &"程序所在路径:" &f
  15.     End If
  16. Next
复制代码

TOP

回复 36# nevergiveup520

不清楚你电脑什么问题,代码都是没问题,你也可以换别的机试试。
只能再测试别的方法

保存为bat运行,看看这两段代码,那个显示的路径是正确的
  1. @echo off
  2. echo;批处理所在路径:%~pd0
  3. for /f "delims=" %%i in ('dir /a-d /b *.exe') do echo;%%~fi
  4. pause
复制代码
  1. @echo off
  2. echo;批处理所在路径:%~pd0
  3. for /f "delims=" %%i in ('dir /a-d /b "%~pd0*.exe"') do echo;%%~fi
  4. pause
复制代码

TOP

本帖最后由 pcl_test 于 2016-1-5 18:48 编辑

回复 39# nevergiveup520

没有问题?不是显示没有找到exe文件?
再来一段测试
  1. @echo off
  2. echo;批处理所在路径:%~pd0
  3. cd /d "%~pd0"
  4. for %%a in (*.exe) do echo;%%a^|%%~fa
  5. echo;当前环境:%cd%
  6. set path
  7. pause
复制代码

TOP

本帖最后由 pcl_test 于 2016-1-5 18:59 编辑

回复 42# nevergiveup520
怎么又换成桌面了?桌面有exe文件?

TOP

回复 44# nevergiveup520

你是在H:\lvse_ruanjian运行的吗?

TOP

回复 47# nevergiveup520

你在H:\lvse_ruanjian运行40楼的代码能显示正确的exe路径?

TOP

返回列表