【发布时间】:2014-01-14 22:18:48
【问题描述】:
提前感谢您的帮助。
我正在尝试制作一个批处理文件来移动某个文件夹中的文件。
只是一点背景。 我有一个文件夹和结构如下:
c:\测试
- app1\app1.exe
- app2\app2.exe
- app3\app3.doc
- xx[xx].exe
- xx2\xx2.exe
- xx3\xx3.EXE
换句话说,我有一个包含几个子文件夹的文件夹,每个子目录都有一些文件。我想要做的是使用脚本,循环所有文件夹,将所有包含“app”的文件移动到文件夹 app,然后将所有具有“xx”的文件移动到文件夹 xx - 为了最大限度地减少工作量,我已经创建了这两个文件夹,因此脚本不需要决定是否必须创建一个新目录。
下面是我的脚本,
@echo off
rem loop xx
FOR /r "C:\test\" %%G in (*xx*.*) DO (
Echo Found file - %%G
copy %%G c:\testf\xx\
set pathname=%%G
for %%K in ("%pathname%") do ( set filepath=%%~dpK
set filename=%%~nxK
echo Filepath is %filepath%
echo %filename% >> c:\output.log )
echo full is %pathname% )
rem loop app
FOR /r "C:\test\" %%H in (*app*.*) DO (
Echo Found file - %%H
copy %%H c:\testf\app\
set pathname=%%H
for %%L in ("%pathname%") do ( set filepath=%%~dpL
set filename=%%~nxL
echo Filepath is %filepath%
echo %filename% >> c:\output.log )
echo full is %pathname% )
Echo "All Done"
当前输出日志显示
xx3.EXE
xx3.EXE
xx3.EXE
app3.EXE
app3.EXE
app3.EXE
和 xx 文件仅发送到 xx 文件夹,但应用程序文件没有。 我可以帮忙解决这个问题吗?
非常感谢您提供的任何帮助。
【问题讨论】:
标签: batch-file