Board logo

标题: 能帮我解决个问题吗,斑竹高手看下帮帮忙(解决) [打印本页]

作者: wsqdz     时间: 2006-12-22 03:38    标题: 能帮我解决个问题吗,斑竹高手看下帮帮忙(解决)

谢谢看我的问题[特别谢谢fastslz和斑竹namejm
在帖子http://www.cn-dos.net/forum/view ... 7%E6%96%B9%E5%BC%8F提供的方法


我想实现
  
    搜索指定的EXE文件(比如QQ.exe Thunder.exe)
搜索不到QQ.exe跳到搜索Thunder.exe 还是没有的话就关闭程序
搜索到执行创建相应程序的快捷方式并发送到桌面

看了论坛里面的,用批处理能实现搜索,但不能创建快捷方式,用vbs知道怎么创建快捷方式但不知道怎么搜索
希望高手能解决下
谢谢


相关的代码是
@echo off
setlocal enabledelayedexpansion
echo.
echo 正在搜索文件......
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "固定">nul 2>nul && dir /s /a-d /b !drive!\QQ.exe>>tmp.txt 2>nul
)
set /p QQdir=<tmp.txt
del tmp.txt
echo %QQdir%
shortcut.exe /f:"%userprofile%\桌面\QQ.lnk" /a:c /t:"%QQdir%"

和一个叫shortcut.exe的工具

呵呵 不错 自己再优化下OK了


[ Last edited by wsqdz on 2006-12-22 at 02:34 PM ]
作者: electronixtar     时间: 2006-12-22 06:44
其实不用搜索,这些软件都在注册表里有痕迹的
作者: wsqdz     时间: 2006-12-22 23:09
不是这个意思   我做了个GHOST的盘  有好多些软件不能放进去  太大
我想在装好后能在第二次启动运行这个批处理后在其他盘把我想要的软件的快捷方式发送到桌面上
这样很方便
也适用到其他的机子上

谢谢了
作者: fastslz     时间: 2006-12-22 23:56
既然做ghost盘,那就专业一点吧,外挂方式安装软件
教程google关键词XPLODE搜索吧
实际应用见我的附件 (记事本编辑XPLODE.XML进行修改)
闪人~继续潜水~~
作者: wsqdz     时间: 2006-12-23 01:50
楼上的  XPLODE我会
但是他也要占用一定的空间的啊

还有有些软件更新的很快(像QQ迅雷)  有些软件本来就是绿色的
还有很多软件都有他们自己喜欢的设置(下载软件的存放路径什么的)
他们都保存在其他的盘中  没必要再浪费空间多加这些软件啊

我只是安装些必要的  没必要的就让他自己去其他的盘搜索

谢谢了
作者: fastslz     时间: 2006-12-23 02:12

@echo off
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "固定">nul && dir /s /a-d /b !drive!\QQ.exe>>tmp.txt
)
pause

作者: wsqdz     时间: 2006-12-23 02:43
谢谢  呵呵
这个只是找文件的生成个路径保存

但是不能建立相应的快捷方式到桌面啊
我能用VBS创建快捷方式到桌面 但是在里面不知道怎么实现搜索后执行相应的创建快捷方式
大哥 再帮帮我啊

[ Last edited by wsqdz on 2006-12-22 at 01:46 PM ]
作者: wsqdz     时间: 2006-12-23 02:51
VBS里面怎么调用这个路径实现呢
dim WshShell
dim strDesktop
dim oShellLink

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("AllUsersDesktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\QQ(这个不是路径 而是相应的文件名).lnk")
oShellLink.TargetPath = "QQ路径"
oShellLink.WindowStyle = 1
oShellLink.Description = "QQ路径"
oShellLink.WorkingDirectory = "路径"
oShellLink.Save
                )
        )
)
pause
作者: fastslz     时间: 2006-12-23 02:58

@echo off
setlocal enabledelayedexpansion
echo.
echo 正在搜索文件......
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "固定">nul 2>nul && dir /s /a-d /b !drive!\QQ.exe>>tmp.txt 2>nul
)
set /p QQdir=<tmp.txt
del tmp.txt
echo %QQdir%
pause

@echo off
echo.
echo 正在搜索文件......
for %%a in (C D E F G) do dir /s /a-d /b %%a:\QQ.exe>>tmp.txt 2>nul
set /p QQdir=<tmp.txt
del tmp.txt
echo %QQdir%
pause

作者: wsqdz     时间: 2006-12-23 03:05
功能搜索

还有个主要的是创建桌面快捷方式
高手努力啊   \
加油 加油最好能创建相应的我上面提到的VBS文件后运行
或是生成内容为
[运行数量];数量=5
[config1];如果是发文件夹后面不要带"\"了,程序名必须留空.
路径=D:\E-绝对绿化\Tencent\(相应路径)
程序名=QQ.exe(相应程序名)
快捷方式名=QQ(相应程序快捷方式名)
[config2];如果是发文件夹后面不要带"\"了,程序名必须留空.
路径=D:\E-绝对绿化\Thunder\(相应路径)
程序名=Thunder.exe(相应程序名)
快捷方式名=Thunder(相应程序快捷方式名)

这样的文件保存为ini格式  我就是办法实现了

谢谢


[ Last edited by wsqdz on 2006-12-22 at 02:13 PM ]
作者: kafen     时间: 2006-12-23 03:30


  Quote:
Originally posted by wsqdz at 2006-12-23 03:05:
功能搜索

还有个主要的是创建桌面快捷方式
高手努力啊   \
加油 加油最好能创建相应的我上面提到的VBS文件后运行
或是 ...

看不懂楼主说什么办法实现呢?
作者: tianzizhi     时间: 2006-12-23 06:12
给你写一个为你想要的每一个程序创建快捷方式批处理:
1.先在chengxu.txt创建要创建快捷方式的程序列表,如:
QQ.exe
Thunder.exe
foobar2000.exe
mplayer.exe
vagaa.exe
每行一个程序.
2,下面是创建快捷方式批处理:
@echo off
echo.
echo 请准备好chengxu.txt文件的程序列表,准备好按任意键.....
pause >nul
echo 正在搜索程序,请稍候......
for %%a in (D E F G H) do @ for /f "delims=" %%b in (chengxu.txt) do @(
for /f "delims=" %%c in ('dir /s /a-d /b "%%a:\%%b"   2^>nul') do @shortcut.exe /f:"%userprofile%\桌
面\%%~nb.lnk" /a:c /t:"%%~fc"
)
echo.
echo 创建快捷方式完毕.....
pause

[ Last edited by tianzizhi on 2006-12-23 at 06:24 AM ]