2015-12-16 41 views
-4

我一直在努力做到这一点,但我一直无法做到。我有一个文件夹有很多很多的文件,我想要去所有的文件夹,阅读他们的名字,如果名称中的任何位置有一个字符串“_NOT”,我会将该文件复制到另一个文件夹,在结束我会压缩该文件夹,然后删除该文件夹并将zip文件移动到另一个位置。如果该位置的zip文件已经存在,我会重写它。使用批处理文件自动化窗口

简单吧?我会很容易地从Excel中的VBA宏做到这一点,但我不知道如何从Windows每天做到这一点。

我似乎无法找到一个很好的教程。

希望得到任何帮助或指导一个很好的教程,这包括。

干杯!

+2

SO不是一个代码生成器,您只需描述一个任务并获取代码即可。你必须表现出一些努力来获得帮助。你还尝试过什么?顺便说一句,没有一些第三方工具没有“简单”的方式来批量创建zip文件。你有安装WinZIP/RAR/7-zip吗?为了给你一些提示,请查看批处理编程中的这些主题:FOR命令,字符串操作(替换),IF EXIST语句,COPY命令和DELETE命令。处理完这些事情之后,请尝试编写代码。如果你遇到一些问题,请回来再问一次。 – MichaelS

回答

0
@echo off 
CLS 

REM Before you use this, make sure to set the paths. 
REM Make sure you download the 7z command line utility, and plug the path in. 


set pathtoFolder="" 
set destination="" 
set sevenZipdir="" 

FOR /R %pathtoFolder% %%G IN (*_NOT) DO (
    echo %%G 
    xcopy "%%G" %destination% 
) 

%sevenZipdir% a -tzip _not.zip %destination% 
RMDIR /Q /S %pathtoFolder% 
+0

你好!你已经回答我的问题非常acuratly,我不得不通过代码1 1得到这一切的意思,但经过一些修补后,我发现所有的语法错误,并得到代码运行一个问题,命令xcopy返回“无效的参数数量“或者如果我只是设置复制它说”系统找不到指定的文件“我在cmd手动尝试命令,并试图回显变量,但我看到没有问题在哪里 –

+0

当你回声%% G,是路径正确吗? –

+0

我这么认为,但我不舒服,应该是整个路径还是文件名?现在它的%% g是C:\ correctpath \ nameofthefileimsearchin.txt并且%destination%是“C:\ correctpathtofolder”tho回显%% g没有(“)标志在任何一方但是目的地 –