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

[文件操作] [已解决]请教批处理如何实现自定义序号范围来移动文件?

比如我有几千个wma格式的文件,文件名格式为“序号+空格+相关名称“,如:1323 xxx文件名

如何自定义序号范围,例如实现将
序号0001-0235的文件移动到“A”文件夹中
序号0341-0559的文件移动到”B“文件夹中
序号0773-1389的文件移动到”C“文件夹中
序号2361-3442的文件移动到”D“文件夹中

回复 8# qixiaobin0715


    原来是这样处理,受教了,谢谢!

TOP

回复 4# toyerspollors
可以使用if嵌套:
  1. if %%i lss 341 (
  2.     if %%i gtr 123 copy !n:~-4!* A\
  3. )
复制代码
1

评分人数

TOP

回复 5# toyerspollors


参考set命令教程第8页
http://bbs.bathome.net/thread-31727-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# toyerspollors


    运行set/?有帮助

TOP

回复 2# idwma


    n=000000%%i&copy !n:~-4!*

请教老师,红色字体这些命令,我具体需要看那些教程才能理解这里面的意思?

TOP

本帖最后由 toyerspollors 于 2021-8-14 22:25 编辑
qixiaobin0715 发表于 2021-8-10 10:24


    if %%i lss 341 (
        copy !n:~-4!* A\
    )

请教老师,以上这里使用了数值大小的命令小于“lss 341”,如果我想添加多一个大于“gtr 123”,如取值为大于123且小于341,该如何修改命令才生效?

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,3442) do (
  4.     set n=000%%i
  5.     if %%i lss 341 (
  6.         copy !n:~-4!* A\
  7.     ) else if %%i lss 773 (
  8.         copy !n:~-4!* B\
  9.     ) else if %%i lss 2361 (
  10.         copy !n:~-4!* C\
  11.     ) else if %%i lss 3442 (
  12.         copy !n:~-4!* D\
  13.     )
  14. )
  15. pause
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1,1,235) do set n=000000%%i&copy !n:~-4!* A\
  3. for /l %%i in (341,1,559) do set n=000000%%i&copy !n:~-4!* B\
  4. for /l %%i in (2361,1,3442) do set n=000000%%i&copy !n:~-4!* C\
  5. pause
复制代码

TOP

返回列表