目录

  • for命令中的管道符无法识别 / 此时不应有 |
    • 问题
    • 解决方法
  • 判断变量值是否为空
    • 解决方法
  • 延缓环境变量/更新变量的值
    • 问题
    • 解决方法
  • 一些资料

for命令中的管道符无法识别 / 此时不应有 |

问题

CMD中使用dir命令列出文件后,可用管道符|连接find命令进行查找,放入for循环后报错。

C:\Users\136ytr>dir /tw /od D:Aria2 | find "字节"16 个文件 32,382,287,094 字节1 个目录    812,498,944 可用字节
C:\Users\136ytr>FOR /F "delims==" %i In ('dir /tw /od D:Aria2 | find "字节"') Do (echo "%i")
此时不应有 |。

解决方法

for语句中的管道符要用尖号^进行转义1

C:\Users\136ytr>FOR /F "delims==" %i In ('dir /tw /od D:Aria2 ^| find "字节"') Do (echo "%i")C:\Users\136ytr>(echo "              16 个文件 32,382,287,094 字节" )
"              16 个文件 32,382,287,094 字节"C:\Users\136ytr>(echo "               1 个目录    812,498,944 可用字节" )
"               1 个目录    812,498,944 可用字节"

判断变量值是否为空

解决方法

if defined语句来判断值是否为空2
注意:语句中的变量不需要 % 或 ! 。

set str=
set /p "str=请输入任意字符,或直接回车:"
if defined str (echo 变量 str 的值不为空
) else echo 变量 str 为空值

延缓环境变量/更新变量的值

问题

set free_space=
set will_delete_file=call :get_free_space
if %free_space% LEQ 10240 (echo 可用空间小于10Gcall :get_will_delete_fileecho 将删除 %will_delete_file%
)

%will_delete_file%无法获取到get_will_delete_file函数执行后的结果。

解决方法

SETLOCAL ENABLEDELAYEDEXPANSION启用扩展延迟,使用!变量名!调用变量3

SETLOCAL ENABLEDELAYEDEXPANSION
set var=0
for /l %%i in (1 1 10) do (
set var=%%irem 启用延缓环境变量
echo !var!  ....rem 未启用延缓环境变量
echo %var%
)

一些资料

cmd的变量总结 - feiquan - 博客园


  1. for语句中的管道符为何要用尖号^进行转义 ↩︎

  2. 批处理判断变量值是否为空的终极方法_ScottTiger的博客-CSDN博客 ↩︎

  3. cmd的变量总结 - feiquan - 博客园 ↩︎

【CMD】批处理文件问题小记相关推荐

  1. Windows批处理(cmd/bat)使用小记

    前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务.用户只需双击批处理文件便可执行任务,而无需重复输入相同指令.编写批处理文件非常简单,但难点在于确保一切按顺序 ...

  2. BAT CMD 批处理文件脚本总结(中文)

    1.               综述 1.".bat": 这是微软的第一个批处理文件的后缀名,在几乎所有的Windows 操作系统内都能运行. 2. ".cmd&quo ...

  3. cmd 批处理文件(.bat)文件的编写

    1. 获取当前文件所在的路径信息 CMD获取当前目录的绝对路径 创建如下的名为 test.bat的文本文件: @echo off echo 当前盘符:%~d0 echo 当前盘符和路径:%~dp0 e ...

  4. python执行bat文件_python自动运行cmd,bat文件

    展开全部 python编码2113启动cmd批处理文件(.bat文件),用subprocess方法可以将相应5261的cmd输出获取到,代码如下:4102#import os#os.system (& ...

  5. 批处理命令html文件合并,cmd命令行无损合并批处理TS视频文件

    有时,当我们从Internet下载一些视频文件时,我们发现某些视频格式为.ts格式,并且被分成N个以上的小文件. 特别是,某些视频以.ts格式(MPEG2-TS流)播放. 因此,如果要下载此视频,则需 ...

  6. [好玩的CMD]CMD批处理绘制彩色的像素画

    不多废话,先上几张效果图: 其实也是闲着无聊,偶然间看到网上一篇博客,介绍了window10的cmd可以使用 ANSI转义显示彩色字或背景(点我查看学习资料),感觉突然来了点灵感,cmd的黑白控制台尽 ...

  7. 在Windows上搭建Git Server

    Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用. 那么私有项目,如何用Git进行代码版本控制呢?我们可以自 ...

  8. git进入项目目录 windows_Windows下搭建Git服务器

    Windows平台下搭建Git服务器的图文详解及教程 Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不 ...

  9. java git服务器_windowsServer服务器上搭建GIt服务器

    十年河东,十年河西,莫欺少年穷 学无止境,精益求精 摸索了一天,终于把服务器端Git搭建完毕.记录下来,省的以后踩坑. 如下: 在官网搜索框中输入:download 搜索 下载型选择为Java 选择开 ...

最新文章

  1. 3D点云描述子超全综述:传统方式+深度学习方式
  2. Maven学习——安装与修改Maven的本地仓库路径
  3. 无服务器冷启动不是问题-这就是为什么(对于大多数应用程序)
  4. c盘java文件误删_java获取C盘下的隐藏目录文件名称
  5. 光驱怎么挂载第二个光驱_电脑光驱经常自己打开自己关闭,怎么回事
  6. 十一章--软件设计与实现
  7. Warning: The TensorFlow library wasn't compiled to use SSE,SSE2,SSE3,SSE4.1 instructions
  8. 堆栈用数组和用链表实现
  9. 我的第一份博客,测试一下:P
  10. [Ogre][地形][原创]基于OgreTerrain的地形实现
  11. Linux设备驱动之字符设备(二)
  12. python命名空间,类成员,对象成员
  13. python解数独--世界最难数独2.3秒完成_【数独】世界最难数独90+毫秒解决。一个不错的算法...
  14. 小红书编辑器_为什么我建议你用小红书打造个人IP?
  15. 电脑磁盘分区数据丢失怎么办 磁盘分区丢失的数据怎么恢复
  16. Norgen AAV提取剂盒说明书(含特色)
  17. 播放assets文件里视频文件的问题
  18. 同事写的SpringBoot代码不需要Controller、Service、DAO?只因为用了这个工具
  19. GD32报错Feature(s) : RDI, FlashBP, FlashDL, JFlash, GDB
  20. 4. null 和 undefined区别?

热门文章

  1. MFC学习(02) 矩形移动 (VC++6.0版本)
  2. 2019年创业亏 800 万元,可以给到你的一些建议
  3. 最新Windows下Go语言开发环境搭建+GoLand配置
  4. 阿里大鱼的短信接口申请和调用
  5. C++ 排序函数 sort(),qsort()的用法
  6. python 网格数据插值_python – 网格数据的快速插值
  7. 对数 java_关于java中对数的计算
  8. 表单form action的url写法
  9. 浅谈商业智能BI的过去、现在和未来
  10. 叮叮当~~叮叮当~~|您有一份白玉兰酒店圣诞节豪礼等待抱走!