标题: [文本处理] 批处理怎样将A文件夹下的txt转移到另一个文件夹下? [打印本页]
作者: fly_shen 时间: 2013-10-18 09:46 标题: 批处理怎样将A文件夹下的txt转移到另一个文件夹下?
本帖最后由 fly_shen 于 2013-10-18 14:00 编辑
D盘r_g1、r_g2、r_g3文件夹下里的所有txt剪切到E盘的水数据文件夹里,D盘下的r_w1、r_w2、r_w3里的所有txt剪切到E盘的气数据文件夹里。因D盘磁盘空间有限,所以每天要手工剪切。另这些txt是每天都会产生,所以希望将txt剪切到E盘数据文件夹时可自动创建相应月份的文件夹,并存放在相应的月份文件夹下。麻烦各位大神了啊...
作者: DAIC 时间: 2013-10-18 10:19
剪切之后是要得到这样的效果吗?
E:\水数据\月份\r_g1\*.txt
E:\水数据\月份\r_g2\*.txt
E:\水数据\月份\r_g3\*.txt
E:\气数据\月份\r_w1\*.txt
E:\气数据\月份\r_w2\*.txt
E:\气数据\月份\r_w3\*.txt
作者: fly_shen 时间: 2013-10-18 10:24
回复 2# DAIC
是的,我想用用任务计划加bat自动实现,每月的数据归档。。。
作者: DAIC 时间: 2013-10-18 10:39
回复 3# fly_shen
开始
运行
cmd
echo %date%
把结果发出来看看
作者: DAIC 时间: 2013-10-18 11:25
- @echo off
- setlocal enabledelayedexpansion
- set "srcFolder=D:\Test"
- set "dstFolder=E:\Test"
- set "thisMonth=%date:~0,7%"
- for /d %%i in ("%srcFolder%\r_*") do (
- set folderName=%%~ni
- set folderType=!folderName:~2,1!
- if "!folderType!" equ "g" (
- if not exist "%dstFolder%\水数据\%thisMonth%\!folderName!" (
- md "%dstFolder%\水数据\%thisMonth%\!folderName!"
- )
- move /y "%%i\*.txt" "%dstFolder%\水数据\%thisMonth%\!folderName!"
- ) else if "!folderType!" equ "w" (
- if not exist "%dstFolder%\气数据\%thisMonth%\!folderName!" (
- md "%dstFolder%\气数据\%thisMonth%\!folderName!"
- )
- move /y "%%i\*.txt" "%dstFolder%\气数据\%thisMonth%\!folderName!"
- )
- )
复制代码
作者: fly_shen 时间: 2013-10-18 11:29
回复 6# DAIC
其中的r_gw里的数据不能被剪切走啊
作者: fly_shen 时间: 2013-10-18 11:30
回复 6# DAIC
@echo off
for %%a in (1 2 3) do (
move E:\监控中心V1.0\通讯中心\入库数据\r_g%%a\*.txt F:\老系统气数据\
move E:\监控中心V1.0\通讯中心\入库数据\r_w%%a\*.txt F:\老系统水数据
)
pause 这是现在用的bat,但是不能生成月份的文件夹
作者: DAIC 时间: 2013-10-18 11:34
回复 8# fly_shen - @echo off
- setlocal enabledelayedexpansion
- set "srcFolder=E:\监控中心V1.0\通讯中心\入库数据"
- set "dstFolder=F:\老系统气数据"
- set "thisMonth=%date:~0,7%"
- for /d %%i in ("%srcFolder%\r_*") do (
- set folderName=%%~ni
- set folderType=!folderName:~2,1!
- if "!folderType!" equ "g" (
- if not exist "%dstFolder%\水数据\%thisMonth%\!folderName!" (
- md "%dstFolder%\水数据\%thisMonth%\!folderName!"
- )
- move /y "%%i\*.txt" "%dstFolder%\水数据\%thisMonth%\!folderName!"
- ) else if "!folderType!" equ "w" (
- if not exist "%dstFolder%\气数据\%thisMonth%\!folderName!" (
- md "%dstFolder%\气数据\%thisMonth%\!folderName!"
- )
- move /y "%%i\*.txt" "%dstFolder%\气数据\%thisMonth%\!folderName!"
- )
- )
复制代码
作者: fly_shen 时间: 2013-10-18 11:41
回复 9# DAIC
这个还是把源文件夹下的r_gw里的txt都剪切过来了啊
作者: DAIC 时间: 2013-10-18 12:34
回复 10# fly_shen - @echo off
- setlocal enabledelayedexpansion
- set "srcFolder=E:\监控中心V1.0\通讯中心\入库数据"
- set "dstFolder=F:\老系统气数据"
- set "thisMonth=%date:~0,7%"
- for /f "delims=" %%i in ('dir /b /ad "%srcFolder%" ^| findstr "r_[gw][1-3]"') do (
- set folderName=%%i
- set folderType=!folderName:~2,1!
- if "!folderType!" equ "g" (
- if not exist "%dstFolder%\水数据\%thisMonth%\!folderName!" (
- md "%dstFolder%\水数据\%thisMonth%\!folderName!"
- )
- echo move /y "%srcFolder%\%%i\*.txt" "%dstFolder%\水数据\%thisMonth%\!folderName!"
- ) else if "!folderType!" equ "w" (
- if not exist "%dstFolder%\气数据\%thisMonth%\!folderName!" (
- md "%dstFolder%\气数据\%thisMonth%\!folderName!"
- )
- echo move /y "%srcFolder%\%%i\*.txt" "%dstFolder%\气数据\%thisMonth%\!folderName!"
- )
- )
复制代码
作者: fly_shen 时间: 2013-10-18 14:01
回复 11# DAIC
谢谢啦。。。大神
作者: fly_shen 时间: 2013-11-4 11:06
回复 11# DAIC
您好,这个代码只能把时间文件夹创建,但源文件夹中的txt没有move到新建文件夹中,本人很菜没找到原因..
作者: DAIC 时间: 2013-11-4 11:29
回复 13# fly_shen
把move前面的echo删掉
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |