找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20586|回复: 1

[文件操作] 能不能帮我注释一下这个批处理呀?

[复制链接]
发表于 2014-9-29 14:15:46 | 显示全部楼层 |阅读模式
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=U" %%a in (*cmd /u /c echo 唉*) do set "tab=%%a"
  3. (for /f "tokens=1-2 delims=%tab%" %%a in (编码对应.txt) do (
  4. if %%b gtr 999999 (
  5. if %%b leq 999999999 (
  6. set "dst=!dst1!\%%a"
  7. ) else (
  8. if exist "全部%%b*.gay" (
  9. md "!dst!\%%a"
  10. move "全部%%b*.gay" "!dst!\%%a"
  11. )
  12. )
  13. ) else set "dst1=%%a"
  14. ))>nul 2>nul
复制代码
如题!谢了
第一句查了下是指变量延迟,不理解是做什么用的?
delims=U哪来的U来分隔呢?U是代表什么?
set "dst=!dst1!\%%a" 中的dst1是变量?那这句是什么意思呢?
怎么很多语句都有双引号,那双引号起什么作用呢?
发表于 2014-9-29 14:52:52 | 显示全部楼层
回复 1# sblisb


1、!dst1! 和 %dst1% 的区别是后者在执行 for 之前就已经被解释了(而且会影响语法解释),如果在循环中用 %dst1% 将得到固定的值
2、至于 for /f "delims=U" %%a in (*cmd /u /c echo 唉*) do set "tab=%%a",这是获取制表符的一个方案,由 plp626 发明,来自这里
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 23:10 , Processed in 0.017718 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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