Board logo

标题: [文件操作] bat 模糊查询得到文件路径,并对路径进行处理后取一个值,然后输出成ini文件格式。 [打印本页]

作者: a69106464    时间: 2015-2-1 06:20     标题: bat 模糊查询得到文件路径,并对路径进行处理后取一个值,然后输出成ini文件格式。

本人通过此代码
  1. @echo offecho.&echo.&echo  说明:
  2. echo.&echo  使用本bat文件可全盘查找所有文件夹下的指定文件
  3. echo.&echo.&echo.
  4. goto mhf
  5. :mhf
  6. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do dir /s /b %%i:\"*%1878Game.exe%*".* >>list.txt 2>nul
  7. echo.&echo.&echo.&echo  输出成功,请查看“list.txt”文件;任意键返回主菜单!
  8. pause>nul
复制代码
模糊查找得出文件路径为;d:\迅雷下载\100101_1878Game.exe

我想只取100101这个值,然后写出ini文件格式
格式为 [SpreaaderInfo]
            SpreaderName=100101
求大神指点一二。
作者: DAIC    时间: 2015-2-1 11:41

  1. @echo off
  2. (for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3.     dir /s /b "%%i:\*1878Game.exe*"
  4. ))>list.txt 2>nul
  5. for /f "delims=" %%i in (list.txt) do (
  6.     for /f "delims=_" %%j in ("%%~ni") do (
  7.         set str=%%j
  8.     )
  9. )
  10. >1.ini echo [SpreaaderInfo]
  11. >>1.ini echo SpreaderName=%str%
复制代码

作者: pcl_test    时间: 2015-2-1 12:25

回复 1# a69106464
  1. @echo off
  2. echo 正在搜索文件……
  3. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4. if exist %%a:\ (
  5. for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*1878Game.exe" 2^>nul') do (
  6. echo 找到文件%%b
  7. for /f "tokens=1 delims=_" %%i in ("%%~nb") do (
  8. >%%i.ini echo [SpreaaderInfo]
  9. >>%%i.ini echo SpreaderName=%%i
  10. )
  11. )
  12. )
  13. )
  14. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2