在生成的文件的开头添加字符串

时间:2017-02-15 11:37:48

标签: windows batch-file cmd

我有一个Windows脚本,遍历所有子文件夹,查找找到的每个zip文件,并将其绝对路径放入bat文件中。

dir /b /s /-p *.zip /o:n | findstr /E .zip  >"%CD%"\listFichierZip.bat

我现在想要将每一行改为MOVE函数。

  1. 在每个路径前添加MOVE
  2. 在每个路径的末尾附加目标文件夹
  3. 我遇到了一些问题,试图在findstr函数之前添加“MOVE”字符串。我知道如何连接字符串,变量但函数返回,我不知道。

    我发现有些线程在StackOverflow上提出这个问题,但不幸的是,所有这些都是关于Unix的。

2 个答案:

答案 0 :(得分:1)

@echo off
    setlocal enableextensions disabledelayedexpansion

    > "moveFichierZip.bat" (
        for /r %%a in ("*.zip") do echo move "%%~fa" "x:\somewhere"
    )

使用递归for命令搜索所有.zip个文件,并搜索每个echo move文本,然后搜索完整路径的文件{{1} })和目标文件夹。

所有输出都被重定向到最终目标文件。

要从命令行直接运行,请使用

%%~fa

答案 1 :(得分:-1)

您最好的选择是安装busybox.exe并将所有相关的unix文本工具放在一个可执行文件中。然后你就可以了

find . -name *.zip -print | xargs -i echo MOVE "{}" DestDir > "$CD"/listFichierZip.bat

就是这样。在执行listFichierZip.bat ...

之前执行一些检查