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

[文本处理] 批处理能否根据文件目录中的某个文件来创建快捷方式?

所有我有个想法。比如
D:\网络游戏   里面有N多游戏。我想知道有什么办法能一次性的把网络游戏里面的run_game.exe  都以快捷方式的方式发送到某一个地方。自动以2级文件夹命名。   比如D:\网络游戏\穿越火线\run_game.exe      快捷方式就自动命名成  穿越火线

比如都发送到d:\游戏快捷方式\这个文件夹,不知道可以做到不··

请问有批处理能实现这个想法吗。谢谢。深夜求助。

本帖最后由 tmplinshi 于 2011-6-24 13:02 编辑
  1. @echo off
  2. set "dir_game=D:\网络游戏"
  3. set "dir_lnk=d:\游戏快捷方式"
  4. set "file=run_game.exe"
  5. for /f "delims=" %%f in (' dir /a:-d /b /s "%dir_game%\%file%" ') do (
  6.     for %%d in ("%%f\..") do (
  7.         call :CreateShort "%%f" "%dir_lnk%\%%~nxd"
  8.     )
  9. )
  10. exit /b
  11. :CreateShort
  12. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")
复制代码

TOP

我本来想写个“批处理快捷方式”,不过后来仔细一揣测其实写不了(喂,版主,你写的那个可能用不了,run_game.exe  应该虚指游戏的运行程序),一个稍微大点的游戏,其游戏目录里绝对不止一个exe文件,那怎么判断哪个是主运行程序呢?
1.按大小——主运行程序一般是最大的那个exe(一般)
2.按经验——流行游戏知多少。
要写,很难

TOP

本帖最后由 qq3475534 于 2011-6-24 19:29 编辑

2# tmplinshi


大哥我试过你的代码很好。可是有个问题。。

比如个别文件夹里没有menu.exe 那么就不行。可否加段代码。写个LOG。 找不到menu.exe的文件夹就写LOG 方便排查。。

还有就是那个ICO图标的问题,不知道可不可以这样呢

我看过游戏当前目录里面都有一个**.ico的文件

批处理可否检测游戏目录ico文件 并自动替换快捷方式图标呢

比如 D:\网络游戏\QQ炫舞
就只查询QQ炫舞 目录
二级目录不查询。

或者是这样。游戏当前目录下的 Game.ICO 替换进去,,我这边是用易游游戏平台的。每个游戏当前目录里都有一个 Game.ICO 的这个文件!!

TOP

本帖最后由 tmplinshi 于 2011-6-24 20:38 编辑
  1. @echo off
  2. set "dir_game=D:\网络游戏"
  3. set "dir_lnk=d:\游戏快捷方式"
  4. set "file=run_game.exe"
  5. for %%i in (error no_exe no_ico) do set %%i=
  6. for /f "delims=" %%f in (' dir /a:-d /b /s "%dir_game%\%file%" ') do (
  7.     setlocal
  8.     if not exist "%%~dpf\menu.exe" set /a error = 1, no_exe = 1
  9.     if not exist "%%~dpf\Game.ICO" set /a error = 1, no_ico = 1
  10.     if not defined error (
  11.         for %%d in ("%%f\..") do (
  12.             call :CreateShort "%%f" "%dir_lnk%\%%~nxd" "%%~dpfGame.ICO"
  13.         )
  14.     ) else (
  15.         echo %%~dpf
  16.         if defined no_exe echo     缺少 menu.exe
  17.         if defined no_ico echo     缺少 Game.ICO
  18.     ) >>CreateShort.log
  19.     endlocal
  20. )
  21. exit /b
  22. :CreateShort
  23. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.IconLocation=""%~3"":b.Save:close")
复制代码

TOP

返回列表