[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
其实还可以更简单一点
  1. @echo off
  2. set "a=>nul&dir /b"
  3. echo %a%
  4. pause
复制代码
实际上,并没有把值赋给了变量a
变量a实际的值是>nul&dir /b
打开变量延迟或者使用set a就可以看到
  1. @echo off
  2. set a=%a:^>nul^&dir /b%
  3. echo %a%
  4. pause
  5. setlocal enabledelayedexpansion
  6. echo !a!
  7. pause
  8. set a
  9. pause
复制代码
实际上的原理是,预处理的时候将echo %a%扩展成了echo >nul&dir /b,因此自然就显示出了dir /b命令的结果。从本质上看,这跟下面代码没什么区别
  1. @echo off
  2. set "a=dir /b"
  3. %a%
  4. pause
复制代码
1

评分人数

第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

返回列表