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

[文件操作] 批处理如何分类创建文件夹?

如何分类下面的文件,每天创建一个日期文件夹,比如20140220是一个。20131121之类。把相对应的图片放到文件夹里,谢谢!
我找来一些代码不知道怎么用!请教各位?
  1. SET SRC_NAME=%1
  2. SET DST_NAME=%2
  3. SET DATESTR=%date:~10,4%%date:~4,2%%date:~7,2%
  4. md %DST_NAME%%DATESTR%
  5. move %SRC_NAME% %DST_NAME%%DATESTR%
复制代码

  1. @echo off&setlocal enabledelayedexpansion
  2. (for %%a in (*_*.jpeg) do (
  3.     set/a n=%%~na
  4.     md !n!
  5.     move "!n!*.jpeg" !n!\
  6. ))2>nul
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

不能直接用 set /a 计算吧?
  1. @echo off&setlocal enabledelayedexpansion
  2. (for %%a in (*_*.jpeg) do (
  3.     for /f "delims=_" %%b in ("%%~na") do (
  4.         md "%%b"
  5.         move "%%b*.jpeg" "%%b\"
  6.     )
  7. )) 2>nul
复制代码

TOP

回复 3# CrLf

如果是这种格式是可行的,set/a 比for少很多字符呢

我是爱护键盘的。。。。。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 4# xxpinqz


题外话,有一种邪恶的用法:
  1. for /l %%a in (1234_乱七八糟的后缀 1 1234_乱七八糟的后缀) do echo %%a
复制代码
如果这个数不可能是负数,那么可以用简写:
  1. for /l %%a in (1234_乱七八糟的后缀 -2147483647) do echo %%a
复制代码
2

评分人数

    • xxpinqz: 现在才知道,起始变量是会自动转数值。技术 + 1
    • apang: 确实邪恶技术 + 1

TOP

返回列表