![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 03:02 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » (已解决)如何隐藏for搜索文件过程中显示的结果 |
| 可打印版本 2,184 / 23 |
| 第16楼 terse | 发表于 2007-10-10 21:23 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off
setlocal enabledelayedexpansion set "aa_dir=" for %%a in (F E D C) do ( for /f "delims=" %%i in ('dir /a /b /s "%%a:\avp.exe"2^>nul') do if not defined aa_dir set aa_dir=%%~dpi ) start "" %aa_dir% pause 这个意思?? |
|
| 第17楼 bd540 | 发表于 2007-10-10 23:13 |
| 初级用户 发帖 49 积分 114 | |
Originally posted by terse at 2007-10-10 21:23: 多谢。但还是不成,提示“系统找不到文件 C:\Documents。” |
|
| 第18楼 wudixin96 | 发表于 2007-10-10 23:16 |
| 银牌会员 发帖 931 积分 1,928 | |
|
start "" "%aa_dir%"
start没加引号而已。 |
|
| 第19楼 fastslz | 发表于 2007-10-10 23:42 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
@echo off
for %%i in (F E D C) do ( dir /a /b /s %%i:\avp.exe|find /i "avp.exe">temp.txt if not errorlevel 1 goto end ) echo 没找到avp.exe pause :end cls set /p Program=<temp.txt echo start "%Program%" pause |
|
| 第20楼 bd540 | 发表于 2007-10-11 00:16 |
| 初级用户 发帖 49 积分 114 | |
Originally posted by fastslz at 2007-10-10 23:42: 这个可以了,但是无法解决路径名空格的问题。 |
|
| 第21楼 scriptor | 发表于 2007-10-11 00:34 |
| 银牌会员 发帖 555 积分 1,187 | |
Originally posted by bd540 at 2007-10-10 13:17: 这个问题有人问过的 我当时给出了解决办法 其实就是这样的格式:----可以处理含有空格文件名和路径 for "delims=" %%a in (xx) do ( ...... ) >nul 2>nul ...... 代表你要做的一切操作,不论多少行,多少命令都可以的; 那个">nul 2>nul"一定要接在for...do (...) 的最后一个括号 ")" 的后面. 这样可以屏蔽任何信息! 看一个实例: [ Last edited by scriptor on 2007-10-11 at 12:36 AM ] |
|
| 第22楼 scriptor | 发表于 2007-10-11 00:37 |
| 银牌会员 发帖 555 积分 1,187 | |
Originally posted by bd540 at 2007-10-11 00:16: 你的是把所有显示信息放到一个临时文件了 呵呵.... 在文件了不还是会有!! |
|
| 第23楼 bd540 | 发表于 2007-10-11 02:27 |
| 初级用户 发帖 49 积分 114 | |
|
已经解决:
1、隐藏提示:那个">nul 2>nul"一定要接在for...do (...) 的最后一个括号 ")" 的后面. 2、空格问题:按照fastslz的代码,加入替换字符代码后,采用去掉*.exe后加“”解决。 多谢回复此帖的众多朋友!!! |
|
| 第24楼 terse | 发表于 2007-10-13 15:18 |
| 银牌会员 发帖 946 积分 2,404 | |
Originally posted by bd540 at 2007-10-10 23:13: 最后忘记加个“” @echo off setlocal enabledelayedexpansion set "aa_dir=" for %%a in (F E D C) do ( for /f "delims=" %%i in ('dir /a /b /s "%%a:\avp.exe"2^>nul') do if not defined aa_dir set aa_dir=%%~dpi ) start "" "%aa_dir%" 我这里测试通过 |
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |