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

[文件操作] 批处理怎样批量移动文件?

各位大虾,春节愉快!
我想求两个批处理。
第一个,我的E盘JP-XIN文件夹及其子文件夹,有很多文件txt或pdf格式。
文件名称示例:
US4807968-=polymer blends exhibiting nonlinear optical response
JP2010072594-optical member
US2007179243-=optical element-Konica
文本a列有E盘存在的、唯一的、英文词组命名的文件夹的名称,每行一个。
文本a示例:
nonlinear optical
optical element
………            。
我想可不可以这样,只要文件名同时含有文件夹名称两个词(无顺序和间隔要求),就移动到该文件夹。每行(文件夹名),依次进行移动。[说明:文本a可以带有路径,我担心问题复杂,表达不清楚,故意没有用带路径的。]
第二个,文本a是每行一个单词,一样的移动文件。相对要简单一点。不知道能不能限定文件夹名是一个词,而不是两个词。(这一点倒是可以自己事先纠正,重新命名与词组命名重叠的文件夹。)

信息爆炸了,批处理来了,顿时,平静平安了。
谢谢您!

[ 本帖最后由 lxh623 于 2011-2-9 16:33 编辑 ]

文字表达简明一些!!不知到你说什么

TOP

以文件夹名为关键词筛选(以文件夹名中的半角空格或逗号来区分关键词):
  1. for /d %%a in (*) do (
  2. for %%b in (%%a) do (
  3. for /f "delims=" %%c in ('dir /a-d /b *%%b*') do (
  4. move "%%c" "%%a"
  5. )))
复制代码
1

评分人数

TOP

发帖请言简意赅,多则乱,直指中心就行了。大家都很忙,没耐心看无关痛痒的内容

TOP

原帖由 zm900612 于 2011-2-10 20:40 发表
以文件夹名为关键词筛选(以文件夹名中的半角空格或逗号来区分关键词):for /d %%a in (*) do (
for %%b in (%%a) do (
for /f "delims=" %%c in ('dir /a-d /b *%%b*') do (
move "%%c" "%%a"
)))

E盘JP-XIN和E盘,怎么批处理里面看不到。文本a呢?
关键词更多的不在一起。
谢谢您!
曾经在这里求到一个批处理,有点类似,但不完全一样。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=*" %%a in (a.txt) do set /a n+=1&set str!n!=%%a
  3. for /f "delims=*" %%a in ('dir /s/b/a-d E:\JP-XIN\*.pdf E:\JP-XIN\*.txt  ^| findstr /i "%str1%"^|findstr /i "%str2%"') do move "%%a" D:\pdf\
复制代码

[ 本帖最后由 lxh623 于 2011-2-10 23:48 编辑 ]

TOP

返回列表