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


    这个代码在当前目录运行之后会自动创建一个以“~,5”命名的文件夹!

TOP

本帖最后由 pcl_test 于 2015-4-14 09:19 编辑

回复 17# 511182890
把批处理跟要处理的文件放在一起运行即可
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2* delims=-" %%i in ('dir /a-d /b *.dxf') do (
  4. set "n=%%j"
  5. md "!n:~,6!\" 2>nul
  6. move "%%i-%%j-%%k" "!n:~,6!\"
  7. )
  8. pause
复制代码

TOP

回复 16# tigerpower


        你好,我上面的这个问题,从第一“-”开始取5位,这样行吗
比如:
E:\ZX1011-GB1201三位-147主料(0.5)双向.DXF
结果:
E:\GB1201\ZX1011-GB1201-147主料(0.5)双向.DXF

@echo off
pushd E:\
for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" & move /y "%%i-%%j-%%k" "%%j")
这个代码是处理二个“-”之间的,帮忙加于更改一下。

TOP

回复 15# pcl_test


    你好,我上面的这个问题,从第一“-”开始取5位,这样行吗
比如:
E:\ZX1011-GB1201三位-147主料(0.5)双向.DXF
结果:
E:\GB1201\ZX1011-GB1201-147主料(0.5)双向.DXF

@echo off
pushd E:\
for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" & move /y "%%i-%%j-%%k" "%%j")
这个代码是处理二个“-”之间的,帮忙加于更改一下。

TOP

回复 14# 511182890
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%I in (65,1,90) do (
  4. cmd /c exit %%I
  5. pushd !=exitcodeascii!:\ 2>NUL && for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" & move "%%i-%%j-%%k" "%%j")
  6. )
复制代码

TOP

本帖最后由 pcl_test 于 2015-4-13 15:49 编辑

回复 14# 511182890
去掉pushd E:\,把批处理跟要处理的文件放在一起运行即可,you can try

TOP

回复 13# pcl_test


    你好,还有个问题,就是不一定是当前E盘,有可能是任意盘下的所有文件

TOP

回复 12# 511182890


    问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

谢谢各位的解答,已经OK了

TOP

回复 10# tigerpower


    谢谢,终于成功了。

TOP

回复 4# 511182890

10楼说的对,把 && 改成 &

TOP

回复 8# pcl_test


    /y   加了之后结果与不加一样的。

TOP

回复 7# 511182890
后面的改为
move /y "%%i-%%j-%%k" "%%j"

TOP

回复 5# tigerpower


    只要有文件夹存在了,就不会把文件移进存在的文件中。

TOP

回复 5# tigerpower


    这个好像如果很多文件要移到同一个文件夹的时候,只能移动一个,而且重复运行也不会移动。

TOP

返回列表