[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. for /d %%i in (g:\h\*) do (
  3.     md "%%~fsi\厂家" "%%~fsi\型号"
  4. )
  5. pause
复制代码
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 6# SandraRusso
  1. @echo off&setlocal enabledelayedexpansion
  2. for /d %%i in (g:\h\*) do (
  3.     md "%%~fsi\厂家" "%%~fsi\型号" 2>nul
  4.     pushd "%%~fsi"
  5.     for %%a in (*.*) do (
  6.         set "str=%%a"&set "n=!str:~,1!"
  7.         if !n! lss a (
  8.             move "%%a" 厂家
  9.         ) else (
  10.             move "%%a" 型号
  11.         )      
  12.     )
  13.     popd
  14. )
  15. pause
复制代码
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 8# SandraRusso

这里是判断了文件名的第一个字符,如果是数字便移动到厂家文件夹中去,如果是字母或者汉字便移动到型号文件夹中去。
你再细说一下你的条件,我把判断规则改下。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

本帖最后由 慕夜蓝化 于 2015-2-7 18:26 编辑

回复 10# SandraRusso

“1-1,2-2,3-3,4-1,5-1(以首位数字为主的编号例如1-5的)照片统一放到厂家文件夹”这里的首位数字为主的意思,是指的文件名前三位吗?或者说只要是(数字-数字)的样式便移动到厂家中去?
你能不能把几种不同的文件名样式复制一下,打出来,我们好做个比对,只听你讲编号什么的,很晕。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 12# SandraRusso

= = 为什么我这里测试的可以啊,你把那个文件名全名打出来,包括文件名后缀,我们看一下;还有你要移动到厂家内的文件名也看一下,举例就行。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 13# SandraRusso

特么的...你的意思是首位数字小于等于5的放到厂家中去,首位数字大于5的放到型号中去。是吗?
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /d %%i in (g:\h\*) do (
  3.     md "%%~fsi\厂家" "%%~fsi\型号" 2>nul
  4.     pushd "%%~fsi"
  5.     for %%a in (*.*) do (
  6.         set "str=%%a"&set "n=!str:~,1!"
  7.         if !n! leq 5 (
  8.             move "%%a" 厂家
  9.         ) else (
  10.             move "%%a" 型号
  11.         )      
  12.     )
  13.     popd
  14. )
  15. pause
复制代码
这样应该可以了。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 18# SandraRusso

你试下17楼的行不行,我这里测试是通过的。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 20# SandraRusso

这不奇怪,那不是首位数字了,那是前两位数字,我知道该怎么办了,你等下。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /d %%i in (g:\h\*) do (
  3.     md "%%~fsi\厂家" "%%~fsi\型号" 2>nul
  4.     pushd "%%~fsi"
  5.     for %%a in (*.*) do (
  6.         for /f "delims=-" %%b in ("%%~nxa") do (
  7.         if %%b leq 5 (
  8.             move "%%a" 厂家
  9.         ) else (
  10.             move "%%a" 型号
  11.         ))      
  12.     )
  13.     popd
  14. )
  15. pause
复制代码
你试下。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

请在帖子标题前标记[已解决]。
然后就是,在批处理之家的公告上是有官方qq群的;43011867;
一般大家都在那里聊天,有兴趣的话可以加入。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

  1. @echo off
  2. for /d %%i in (g:\h\*) do (
  3.     pushd "%%i"
  4.     for /d %%a in (*) do if "%%a"=="型号" rd /s/q "%%a"
  5.     popd
  6. )
  7. pause
复制代码
先测试下。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 51# SandraRusso

你在move 和 md 命令的后面添加 >nul 2>nul 试试
并在for /f 后添加 "delims="
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

返回列表