Board logo

标题: [文件操作] 批处理如何分类创建文件夹? [打印本页]

作者: miaojiahong    时间: 2014-7-9 15:52     标题: 批处理如何分类创建文件夹?

如何分类下面的文件,每天创建一个日期文件夹,比如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%
复制代码

作者: xxpinqz    时间: 2014-7-9 17:56

  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
复制代码

作者: CrLf    时间: 2014-7-9 22:04

不能直接用 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
复制代码

作者: xxpinqz    时间: 2014-7-16 15:08

回复 3# CrLf

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

我是爱护键盘的。。。。。
作者: CrLf    时间: 2014-7-16 16:51

回复 4# xxpinqz


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





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2