[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

  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是变量?那这句是什么意思呢?
怎么很多语句都有双引号,那双引号起什么作用呢?

回复 1# sblisb


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

TOP

返回列表