| 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『楼 主』:
 请教两条处理有什么区别呢?
 
使用 LLM 解释/回答一下
  
请教下面两条处理有什么区别呢?批处理执行的时候第一条可以!第二条执行不了!可在命令行里都是可以运行的啊! 
1、for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do echo %%i    
2、for /f "skip=1" %%i in ('wmic logicaldisk get caption') do echo %%i 
 
    
 
  
 |   
 | 
  2007-5-15 23:21 | 
  
 | 
 | 
 
lxmxn 
版主
 
        
 
  
 
积分 11386 
发帖 4938 
注册 2006-7-23 
状态 离线
 | 
『第 2 楼』:
 
 
使用 LLM 解释/回答一下
  
筛选条件不同,命令的结果自然不同。但是以上两种方法都可以在批处理里面执行的。 
 
第一个指定了条件 "drivetype='3'" ,表示驱动类型为3的驱动器,这里表示固定磁盘,即C、D、E等磁盘。 
 
第二个没有指定条件,将得到所有驱动器的盘符。如果有光盘或者软盘的话,也会显示相应的盘符。 
 
    
 
  
 |   
 | 
  2007-5-16 00:11 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by lxmxn at 2007-5-16 00:11: 
筛选条件不同,命令的结果自然不同。但是以上两种方法都可以在批处理里面执行的。 
 
第一个指定了条件 "drivetype='3'" ,表示驱动类型为3的 ...  
我这里第二条在批处理里不能执行,不知道为什么!  
 
    
 
  
 |   
 | 
  2007-5-16 01:06 | 
  
 | 
 | 
 
dikex 
高级用户
 
     潜水修练批处理
  
  
积分 788 
发帖 366 
注册 2006-12-31 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
for /f "skip=1" %%i in ('wmic logicaldisk get caption') do echo %%i 
在我这里执行很正常 
 
    
 
  
  |  
                  
  
                    正在潜水修练的批处理小白 |   
 | 
  2007-5-16 01:18 | 
  
 | 
 | 
 
lxmxn 
版主
 
        
 
  
 
积分 11386 
发帖 4938 
注册 2006-7-23 
状态 离线
 | 
 | 
  2007-5-16 01:28 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
没有其他的  就算COPY你上面的也不行 
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do echo %%i  这个可以 
如果改成下面这样也不行: 
for /f "skip=1 tokens=1,2 delims=, " %%i in ('wmic logicaldisk where "drivetype='3'" get caption,FreeSpace') do echo %%i %%j 
郁闷! 
 
 Last edited by terse on 2007-5-16 at 02:03 AM ] 
 
    
 
  
 |   
 | 
  2007-5-16 01:54 | 
  
 | 
 | 
 
ansipeter 
中级用户
 
    替身
  
  
积分 269 
发帖 130 
注册 2007-3-23 
状态 离线
 | 
 | 
  2007-5-16 08:44 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
系统是XP 问题是下面第一条可在批处理里执行,其他不行,但都可在命令行里执行 
1、for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do echo %%i    
 
2、for /f "skip=1" %%i in ('wmic logicaldisk get caption') do echo %%i 
 
会是系统的事? 
 
 Last edited by terse on 2007-5-16 at 01:11 PM ] 
 
    
 
  
 |   
 | 
  2007-5-16 13:09 | 
  
 | 
 | 
 
dikex 
高级用户
 
     潜水修练批处理
  
  
积分 788 
发帖 366 
注册 2006-12-31 
状态 离线
 | 
 | 
  2007-5-16 13:21 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 10 楼』:
 
 
使用 LLM 解释/回答一下
  
没提示  CMD窗口好象一闪  虽然命令后面有加:pause 
完了!连昨天晚上都可以在批处理里运行是:for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do echo %%i  现在都不能运行, 
把%%i改成%i  在命令行下可以运行 
 
 Last edited by terse on 2007-5-16 at 02:44 PM ] 
 
    
 
  
 |   
 | 
  2007-5-16 13:44 | 
  
 | 
 | 
 
lxmxn 
版主
 
        
 
  
 
积分 11386 
发帖 4938 
注册 2006-7-23 
状态 离线
 | 
『第 11 楼』:
 
 
使用 LLM 解释/回答一下
  
试试这个。 
 
@echo off 
for /f "skip=1 tokens=1-2" %%i in ('"wmic logicaldisk where 'drivetype=3' get Caption,FreeSpace"') do echo %%i %%j 
pause 
  
 
    
 
  
 |   
 | 
  2007-5-16 15:05 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 12 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by lxmxn at 2007-5-16 15:05: 
试试这个。 
 
@echo off 
for /f "skip=1 tokens=1-2" %%i in ('"wmic logicaldisk where 'drivetype=3' get Caption,FreeSpace"') do echo %%i %%j 
pause 
   
可以运行   
但有一个有趣的现象,假设我原先不能运行的批处理文件名为ABC.bat,现在我清空ABC.bat(变成0字节)!把上面的COPY到ABC.bat,一样不能运行了, 
试着新建一个文档名为DEF.bat把上面的COPY到DEF.bat可以运行!
 
把你的内容变为: 
@echo off 
for /f "skip=1 tokens=1-2" %%i in ('"wmic logicaldisk get Caption,FreeSpace"') do echo %%i %%j 
pause 
一样可以运行, 把DEF.bat和ABC.bat名称互换结果是DEF.bat不能运行,ABC.bat又能运行!
 
 Last edited by terse on 2007-5-16 at 07:58 PM ]  
 
    
 
  
 |   
 | 
  2007-5-16 19:48 | 
  
 | 
 | 
 
dikex 
高级用户
 
     潜水修练批处理
  
  
积分 788 
发帖 366 
注册 2006-12-31 
状态 离线
 | 
『第 13 楼』:
 
 
使用 LLM 解释/回答一下
  
估计ABC.bat的编码不是ANSI,批处理要求文件的编码必须为ANSI,另存为时选择一下编码,选择ANSI试试 
 
    
 
  
  |  
                  
  
                    正在潜水修练的批处理小白 |   
 | 
  2007-5-16 20:34 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 14 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by dikex at 2007-5-16 20:34: 
估计ABC.bat的编码不是ANSI,批处理要求文件的编码必须为ANSI,另存为时选择一下编码,选择ANSI试试  
果然如此  怎么加分给你呢?谢了哦!  
 
    
 
  
 |   
 | 
  2007-5-16 21:13 | 
  
 |