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

[文件操作] [已解决]求,将多个批处理脚本识别并显示,且可以调用

本帖最后由 BingjianREMIX 于 2023-5-27 14:34 编辑

在原脚本的目录下有一个“mod”文件夹,里面有多个批处理脚本,想要让原脚本识别mod里的脚本并显示出来,而且支持调用,有解决的可能性吗,凭我这小白,实在只能想到dir,但是看了cmd,跟dir好像没有什么关系,应该是通过某些能显示文件的命令,然后输出到mod.ini,然后程序通过mod.ini调用bat脚本(是这样的吧),实在拙见,有劳各位大佬了
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
QQ 1980286392

原脚本-第1步-识别.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. dir /b /a-d "mod\*.bat"
  4. pause
复制代码
你说的识别是这个意思吗?
请举例说明下一步想怎么做。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. dir %cd%\mod\*.bat>mod.ini
复制代码
至于调用,dir输出还有时间还有大小啥的,调用要用到for/f分割出每一行的指定内容,再保存下来以后才能调用,所以容我再憋一会儿

TOP

原脚本-第1步-识别.bat你说的识别是这个意思吗?
请举例说明下一步想怎么做。
Batcher 发表于 2023-5-23 23:48



    是,但是我想将其echo出来(应该可以设置其变量,然后输出的吧)

echo的格式:
  1. echo.
  2. echo 1.%bat1%
  3. echo.
  4. echo 2.%bat2%
  5. echo.
  6. ...
复制代码
QQ 1980286392

TOP

回复 4# BingjianREMIX
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "n=0"
  5. for /f "delims=" %%i in ('dir /b /a-d "mod\*.bat"') do (
  6.     set /a n+=1
  7.     set bat_!n!=%%i
  8. )
  9. echo 1. %bat_1%
  10. echo 2. %bat_2%
  11. echo 3. %bat_3%
  12. endlocal
  13. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复  BingjianREMIX
Batcher 发表于 2023-5-26 22:59


最多也只有3个啊,多出来的也不好看
QQ 1980286392

TOP

回复 6# BingjianREMIX
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "n=0"
  5. for /f "delims=" %%i in ('dir /b /a-d "mod\*.bat"') do (
  6.     set /a n+=1
  7.     set bat_!n!=%%i
  8. )
  9. for /l %%i in (1,1,!n!) do (
  10.     echo %%i. !bat_%%i!
  11. )
  12. endlocal
  13. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复  BingjianREMIX
Batcher 发表于 2023-5-26 23:26
但是调用呢
QQ 1980286392

TOP

本帖最后由 77七 于 2023-5-27 13:40 编辑

回复 8# BingjianREMIX


   第10行改为
  1. start /i "" "mod\!bat_%%i!"
复制代码
bat小白,请多指教!谢谢!

TOP

回复 9# 77七


    要选择啊,我承认,我都没看太懂
QQ 1980286392

TOP

回复 10# BingjianREMIX


  
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "n=0"
  5. for /f "delims=" %%i in ('dir /b /a-d "mod\*.bat"') do (
  6.     set /a n+=1
  7.     set bat_!n!=%%i
  8. )
  9. for /l %%i in (1,1,!n!) do (
  10.     echo 序号:%%i 批处理名 !bat_%%i!
  11. )
  12. set /p m=输入序号,空格分隔:
  13. for %%a in (!m!) do (
  14. start /i "" "mod\!bat_%%a!"
  15. )
  16. endlocal
  17. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

返回列表