【问题标题】:Automate windows with batch file使用批处理文件自动化窗口
【发布时间】:2015-12-16 10:02:33
【问题描述】:

我一直在努力做到这一点,但我没能做到。我有一个包含很多文件的文件夹,我想浏览所有文件,读取它们的名称,如果名称中的任何位置有类似“_NOT”的字符串,我会将该文件复制到另一个文件夹,在我会压缩该文件夹,然后删除该文件夹并将压缩文件移动到另一个位置。如果该位置的 zip 文件已经存在,我会重写它。

简单吧?我可以通过 Excel 中的 VBA 宏轻松做到这一点,但我不知道如何每天在 Windows 中做到这一点。

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

对于包含此内容的优秀教程的任何帮助或指导,我们将不胜感激。

干杯!

【问题讨论】:

  • SO 不是一个代码生成器,您可以在其中简单地描述一项任务并获取它的代码。您必须付出一些努力才能获得帮助。你还试过什么?顺便说一句,没有一些 3rd 方工具,没有“简单”的方法可以批量创建 zip 文件。您是否安装了 WinZIP/RAR/7-zip?为了给您一些提示,请查看批处理编程中的这些主题:FOR 命令、字符串操作(替换)、IF EXIST 语句、COPY 命令、DELETE 命令。在处理完这些事情之后,试着编写你的代码。如果您在执行此操作时遇到问题,请返回并再次询问。

标签: windows batch-file macros


【解决方案1】:
@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%

【讨论】:

  • 您好!你已经非常准确地回答了我的问题,我不得不逐个处理代码以了解这一切的含义,但经过一番修补后,我发现了所有语法错误并让代码运行时遇到了一个问题,命令 xcopy 返回“参数数量无效”或者如果我只设置 COPY 它说“系统找不到指定的文件”我在 cmd 中手动尝试了命令并尝试回显变量,但我发现 annywhere 没有问题
  • 我想是这样,但我不舒尔,它应该是整个路径还是只是文件名?现在它的 %%g 是 C:\correctpath\nameofthefileimsearchin.txt 和 %destination% 是 "C:\correctpathtofolder" tho in echo %%g 两边都没有 (") 符号,但目的地有
  • 试试 %pathtoFolder%\%%G。
  • 试过了,还是一样,我担心是windows 10的问题,但我确实尝试以管理员身份运行它,我自己是PC的管理员
  • 在 %%G 周围加上引号。让我更新我的帖子。完全复制我的帖子。
猜你喜欢
  • 1970-01-01
  • 2010-10-21
  • 2016-06-18
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 2014-02-23
相关资源
最近更新 更多