Board logo

标题: [文件操作] [已解决]批处理怎样按照目录树一样的文本移动文件到指定文件夹? [打印本页]

作者: lxh623    时间: 2017-10-23 19:20     标题: [已解决]批处理怎样按照目录树一样的文本移动文件到指定文件夹?

文本a和文件是在C:\Users\Downloads\XGZY,目标文件路径是F:\杂志\香光庄严\
文本a是:开始是目标文件夹。比如,F:\杂志\香光庄严\n.126--2017.03.20\       
文件名前面是制表符。
文本a格式可以按照批处理,稍作调整。
n.126--2017.03.20\       
        mag575385.pdf
        mag575371.pdf
        mag575372.pdf
        mag575378.pdf
        mag575379.pdf
        mag575373.pdf
        mag575377.pdf
        mag575348.pdf
        mag575349.pdf
        mag575350.pdf
        mag575351.pdf
        mag575383.pdf
        mag575382.pdf
n.125 别册--2016.12.21\       
        mag574587.pdf
        mag574585.pdf
        mag574580.pdf
        mag574596.pdf
……………………………

谢谢!!!
作者: lifei259    时间: 2017-10-23 21:27

本帖最后由 lifei259 于 2017-11-2 19:10 编辑
  1. @echo off&setlocal EnableDelayedExpansion
  2. for /f "delims=" %%f in (a.txt) do (
  3. for /f "delims=" %%a in ('echo,%%f^|findstr "^n."') do (
  4. set name=%%a
  5. )
  6. if not %%f==!name! (
  7. xcopy /e /h /k /r /i /y %%f F:\杂志\香光庄严\!name!)
  8. )
  9. pause
复制代码

作者: lxh623    时间: 2017-10-23 21:40

本帖最后由 lxh623 于 2017-10-23 21:51 编辑

回复 2# lifei259
谢谢!文件名前面是制表符,但是,好像,运行的时候,文件夹路径前面是制表符?

或者就在当前文件夹创建目录,并且移动。

运行的时候,有路径就没有文件名,或者相反。而且,主目录也没有复制过去文件。
作者: lxh623    时间: 2017-10-23 22:23

暂时可以用,我把文件的制表符删除了。
代码略微改了
  1. @echo off&setlocal EnableDelayedExpansion
  2. for /f "delims=" %%f in (a.txt) do (
  3. for /f "delims=" %%a in ('echo,%%f^|findstr "n."') do (
  4. set name=%%a
  5. )
  6. if %%f==!name! (echo,!name!>nul) else (
  7. move %%f F:\杂志\香光庄严\!name!)
  8. )
  9. pause
复制代码
少数不动或者乱动。
不知道为什么?
不动的。
n.86--2006.06\
an387611.pdf
bj093387612.pdf
bj093387613.pdf
bj093387627.pdf
bj093387625.pdf
an387626.pdf
bj093387623.pdf

乱动的,到了F:\杂志\香光庄严。没有进入文件夹。
bj093387594.pdf
bj093387595.pdf
bj093387596.pdf
bj093387597.pdf
bj093387598.pdf
bj093387599.pdf
bj093387589.pdf
an387587.pdf
bj093387588.pdf
n.84--2005.12\

谢谢了!为了彻底搞明白,请圆满一下。
作者: lifei259    时间: 2017-10-24 09:10

本帖最后由 lifei259 于 2017-11-2 19:12 编辑

二楼代码已改




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