无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6714|回复: 29
打印 上一主题 下一主题

[求助] 批处理大神

[复制链接]
跳转到指定楼层
1#
发表于 2016-9-13 09:29:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
@echo off
set "FileName=KANCSvr.ini"
echo 正在搜索,请稍候...
for %%a in (C D E F G H I J K L M N O P Q R S T U V) do (
  if exist %%a:\nul (
     pushd %%a:\
     for /r %%b in (%FileName%) do if exist "%%b" echo.%%b
>> .\KAVCSvr.ini echo [KANCSvr]
>> .\KAVCSvr.ini echo KANCSvr=%%b
     popd
))
pause


为什么我输出不到文件

需要怎么改?
请批处理大神指点一下
谢谢
2#
发表于 2016-9-13 10:02:49 来自手机 | 只看该作者
echo 内容>>文件
回复

使用道具 举报

3#
发表于 2016-9-13 10:03:12 来自手机 | 只看该作者
写反了

点评

妳测试了吗? 我在没有发帖子之前都这样做过 没有用的  详情 回复 发表于 2016-9-13 10:08
回复

使用道具 举报

4#
 楼主| 发表于 2016-9-13 10:08:22 | 只看该作者

妳测试了吗?
我在没有发帖子之前都这样做过 没有用的
回复

使用道具 举报

5#
发表于 2016-9-13 10:12:08 | 只看该作者
set "FileName=KANCSvr.ini" 隐号去掉
最后)) 装修括号换一行
)
)

点评

[attachimg]250349[/attachimg] 按照你说的 变成了这样...  详情 回复 发表于 2016-9-13 10:23
回复

使用道具 举报

6#
发表于 2016-9-13 10:17:10 来自手机 | 只看该作者
我没有测,手机上的。只能看语法。楼上也是说的语法。
回复

使用道具 举报

7#
 楼主| 发表于 2016-9-13 10:23:08 | 只看该作者
wimboot 发表于 2016-9-13 10:12
set "FileName=KANCSvr.ini" 隐号去掉
最后)) 装修括号换一行
)



按照你说的
变成了这样...

点评

for /r %%b in (%FileName%) do if exist "%%b" ( echo [KANCSvr]>>KAVCSvr.ini echo KANCSvr=%%b>>KAVCSvr.ini )  详情 回复 发表于 2016-9-13 10:43
你去百度文库里找个:CMD命令行高级教程 学习一下  详情 回复 发表于 2016-9-13 10:37
回复

使用道具 举报

8#
发表于 2016-9-13 10:37:09 | 只看该作者
永恒心锁 发表于 2016-9-13 10:23
按照你说的
变成了这样...

你去百度文库里找个:CMD命令行高级教程 学习一下
回复

使用道具 举报

9#
发表于 2016-9-13 10:43:47 | 只看该作者
永恒心锁 发表于 2016-9-13 10:23
按照你说的
变成了这样...

for /r %%b in (%FileName%) do if exist "%%b" (
echo [KANCSvr]>>KAVCSvr.ini
echo KANCSvr=%%b>>KAVCSvr.ini
)

点评

@echo off set FileName=KANCSvr.ini echo 正在搜索,请稍候... for %%a in (C D E F G H I J K L M N O P Q R S T U V) do ( if exist %%a:\nul ( pushd %%a:\ for /r %%b in (%FileName%) do if exis  详情 回复 发表于 2016-9-13 11:02
[attachimg]250350[/attachimg] 没有生成KAVCSvr.ini文件  详情 回复 发表于 2016-9-13 10:51
回复

使用道具 举报

10#
 楼主| 发表于 2016-9-13 10:51:58 | 只看该作者
wimboot 发表于 2016-9-13 10:43
for /r %%b in (%FileName%) do if exist "%%b" (
echo [KANCSvr]>>KAVCSvr.ini
echo KANCSvr=%%b>>KAV ...



没有生成KAVCSvr.ini文件

点评

if exist "%%b" 应改为 if exist %%b  详情 回复 发表于 2016-9-13 12:53
如图  详情 回复 发表于 2016-9-13 11:05
回复

使用道具 举报

11#
发表于 2016-9-13 10:54:11 | 只看该作者
围观一下下
回复

使用道具 举报

12#
发表于 2016-9-13 11:01:21 | 只看该作者
这两行
>> .\KAVCSvr.ini echo [KANCSvr]
>> .\KAVCSvr.ini echo KANCSvr=%%b
改成
>> .\KAVCSvr.ini echo. [KANCSvr]
>> .\KAVCSvr.ini echo. KANCSvr=%%b
即可在各分区根目录下生成 KAVCSvr.ini 文件!

如果原来各分区根目录下没有 KAVCSvr.ini 文件,则 KAVCSvr.ini 的内容为:
[KANCSvr]
KANCSvr=%b

但是,如果原来有 KAVCSvr.ini 文件,则上面的内容会添加到其中,每运行一次批处理将添加一次。
回复

使用道具 举报

13#
 楼主| 发表于 2016-9-13 11:02:37 | 只看该作者
wimboot 发表于 2016-9-13 10:43
for /r %%b in (%FileName%) do if exist "%%b" (
echo [KANCSvr]>>KAVCSvr.ini
echo KANCSvr=%%b>>KAV ...

@echo off
set FileName=KANCSvr.ini
echo 正在搜索,请稍候...
for %%a in (C D E F G H I J K L M N O P Q R S T U V) do (
  if exist %%a:\nul (
     pushd %%a:\
for /r %%b in (%FileName%) do if exist "%%b" (
echo [KANCSvr]>>C:\KAVCSvr.ini
echo KANCSvr=%%b>>C:\KAVCSvr.ini
)
)
)
pause
貌似这样可以
回复

使用道具 举报

14#
发表于 2016-9-13 11:05:09 | 只看该作者
永恒心锁 发表于 2016-9-13 10:51
没有生成KAVCSvr.ini文件

如图

搜索.png (37.87 KB, 下载次数: 50)

搜索.png
回复

使用道具 举报

15#
发表于 2016-9-13 11:07:19 | 只看该作者
#12的回复只是针对#1的问题,即能否生成KAVCSvr.ini文件,加一个点就可以了;

至于在何处生成,生成的内容,生成的文件是否会对原来文件产生影响,则是你需要处理的。
回复

使用道具 举报

16#
发表于 2016-9-13 12:53:22 | 只看该作者
永恒心锁 发表于 2016-9-13 10:51
没有生成KAVCSvr.ini文件

if exist "%%b" 应改为 if exist %%b

点评

改成 if exist "%%~b"  详情 回复 发表于 2016-9-13 13:04
回复

使用道具 举报

17#
发表于 2016-9-13 13:04:30 | 只看该作者
不知 发表于 2016-9-13 12:53
if exist "%%b" 应改为 if exist %%b

改成 if exist "%%~b"
回复

使用道具 举报

18#
发表于 2016-9-13 21:37:43 | 只看该作者
1  首先你的批处理要实现什么目的,要用文字写出来,免得别人瞎猜。
2   if exist %%a:\nul
这条命令就是错的,就算驱动器中没有任何文件和文件夹,每个驱动器也包含 .  和 ..,不可能为空
3  而且在根目录上也无法创建 nul文件或文件夹。
所以,你的批处理根本不会达到你的目的

点评

这个批处理,我是在脚本之家 找到的.  详情 回复 发表于 2016-9-14 16:55
回复

使用道具 举报

19#
发表于 2016-9-13 23:04:02 来自手机 | 只看该作者
定向的文件名写绝对路径测试一下
回复

使用道具 举报

20#
发表于 2016-9-14 11:24:29 来自手机 | 只看该作者
楼主都没说清楚自己想干什么……
回复

使用道具 举报

21#
 楼主| 发表于 2016-9-14 16:55:13 | 只看该作者
yfwang0798 发表于 2016-9-13 21:37
1  首先你的批处理要实现什么目的,要用文字写出来,免得别人瞎猜。
2   if exist %%a:\nul
这条命令就是 ...

这个批处理,我是在脚本之家 找到的.
回复

使用道具 举报

22#
发表于 2016-9-14 22:55:32 | 只看该作者
  1. @echo off
  2. set "FileName=KANCSvr.ini"
  3. echo 正在搜索,请稍候...
  4. for /f %%a in ('wmic volume get driveletter ^| find ":"') do (
  5.         pushd %%a\
  6.         for /r %%b in (%FileName%) do (
  7.                 if exist "%%b" (
  8.                         echo;%%b>>"%%b"
  9.                         echo [KANCSvr]>>"%%b"
  10.                         echo KANCSvr=%%b>>"%%b"
  11.                         echo 已更改 %%b
  12.                 )
  13.         )
  14. )
  15. pause
复制代码

点评

我想把'wmic volume get driveletter ^| find ":"'用在PE里替换上面的笨方法寻找分区 结果效率太低了 还是放弃了  详情 回复 发表于 2016-9-15 14:07
很高深 我特别喜欢'wmic volume get driveletter ^| find ":"'  详情 回复 发表于 2016-9-15 12:21
回复

使用道具 举报

23#
发表于 2016-9-15 12:21:35 | 只看该作者
本帖最后由 wimboot 于 2016-9-15 12:28 编辑


很高深 我特别喜欢'wmic volume get driveletter ^| find ":"'
谢谢大师指教
回复

使用道具 举报

24#
发表于 2016-9-15 14:07:56 | 只看该作者

我想把'wmic volume get driveletter ^| find ":"'用在PE里替换上面的笨方法寻找分区 结果效率太低了 还是放弃了

点评

你的WinPE里面还能用wmic?功能挺全的哈~ 这里有更全的方法 http://www.bathome.net/thread-31884-1-1.html  详情 回复 发表于 2016-9-15 15:00
回复

使用道具 举报

25#
发表于 2016-9-15 15:00:47 来自手机 | 只看该作者
本帖最后由 nttwqz 于 2016-9-15 15:02 编辑
wimboot 发表于 2016-9-15 14:07
我想把'wmic volume get driveletter ^| find ":"'用在PE里替换上面的笨方法寻找分区 结果效率太低了 还 ...


你的WinPE里面还能用wmic?功能挺全的哈~

这里有更全的方法

http://www.bathome.net/thread-31884-1-1.html

点评

我的PE不能用wmic 效率太低我就没添加内核组件  详情 回复 发表于 2016-9-15 16:15
回复

使用道具 举报

26#
发表于 2016-9-15 16:15:52 来自手机 | 只看该作者
本帖最后由 wimboot 于 2016-9-15 17:08 编辑
nttwqz 发表于 2016-9-15 15:00
你的WinPE里面还能用wmic?功能挺全的哈~

这里有更全的方法


我的PE不能用wmic 效率太低我就没添加内核组件

你推荐的网站 很好 我觉得mountvol效率高 可以换了

点评

正常系统还可以吧,上面的批处理我改写文件到执行结束也只不过用了不到15秒钟(也或许是批处理有问题),两个分区90多G数据,本来我估计的,这么多数据,怎么也得1分钟。 话说,wmic第一次使用是要安装的,除此之  详情 回复 发表于 2016-9-15 19:37
回复

使用道具 举报

27#
发表于 2016-9-15 19:37:16 来自手机 | 只看该作者
wimboot 发表于 2016-9-15 16:15
我的PE不能用wmic 效率太低我就没添加内核组件

你推荐的网站 很好 我觉得mountvol效率高 可以换了

正常系统还可以吧,上面的批处理我改写文件到执行结束也只不过用了不到15秒钟(也或许是批处理有问题),两个分区90多G数据,本来我估计的,这么多数据,怎么也得1分钟。

话说,wmic第一次使用是要安装的,除此之外没感觉到效率地下啊?

点评

wmic需要的内核也比较多 有点不利于精简PE  详情 回复 发表于 2016-9-15 22:51
第一次运行很慢 PE也仅运行第一次还很慢 除非是改造过的PE  详情 回复 发表于 2016-9-15 22:43
回复

使用道具 举报

28#
发表于 2016-9-15 22:43:13 来自手机 | 只看该作者
nttwqz 发表于 2016-9-15 19:37
正常系统还可以吧,上面的批处理我改写文件到执行结束也只不过用了不到15秒钟(也或许是批处理有问题), ...

第一次运行很慢 PE也仅运行第一次还很慢 除非是改造过的PE
回复

使用道具 举报

29#
发表于 2016-9-15 22:51:59 来自手机 | 只看该作者
nttwqz 发表于 2016-9-15 19:37
正常系统还可以吧,上面的批处理我改写文件到执行结束也只不过用了不到15秒钟(也或许是批处理有问题), ...

wmic需要的内核也比较多 有点不利于精简PE
回复

使用道具 举报

30#
 楼主| 发表于 2016-9-18 09:32:15 | 只看该作者
非常感谢大家的帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-6-20 01:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表