batch/bat -移动函数,将包含目录列表的文本文件作为输入



我正在写一个bat文件,并想添加一个移动函数。这个想法是,我有一个。txt文件,每行有一个相对路径file。

例如-这只是一个随机的例子:

数据英国 caust00.tga

特定 英国数据caust01.tga

数据 caust00.tga

数据 caust00

目前我只有一个delete函数,这很简单,因为它不需要额外的变量集。(显然,在"数据"中还有更多文件;否则我就会移动整个文件夹)。

假设上面的4行保存在Test.txt中,那么只有这一行:

for/F "tokens=*"%%A in (Test.txt) do del "%%A"

删除所有4个文件。现在这很好,但我想实现一个移动函数:也就是说,它创建一个新文件夹,说"Temp1"与里面-这取决于"Test.txt":

的内容
数据英国 caust00.tga

特定 英国数据caust01.tga

数据 caust00.tga

数据 caust00

我希望你没有迷路。我很想听听你的建议,因为我完全不知道该怎么做。

编辑:因此,我有一个名为&;data &;的文件夹里面有很多子文件夹和文件。我还有一个文本文件,内容如下:

电影

数据 caust00.tga

电影

数据 caust01.tga

数据 caust02.tga

数据 caust03.tga

数据水线面 SCCSpyDrone.ani

数据水线面 SCCStop.ani

数据水线面 SCCTimedChg.ani

现在我想实现一个move函数,将这些文件移动到一个新文件夹"Test"所以我们得到这个:

电影

测试 Data caust00.tga

电影

测试 Data caust01.tga

测试 Data caust02.tga

测试 Data caust03.tga

测试水线面 数据SCCSpyDrone.ani

测试水线面 数据SCCStop.ani

测试水线面 数据SCCTimedChg.ani

试试这个:

<>之前mkdir C: DestFolder 将C: SourceFolder *。* C: DestFolder 之前

这将把所有文件从SourceFolder移动到DestFolder

编辑:

如果你这样做呢:

如果文件夹结构如下:

<>之前SourceFolder| -move.bat| -FilesToMove.txt| -1.三种| 2| -2.三种之前

其中FilesToMove.txt包含:

<>之前1.三种2 2.三种之前

move.bat看起来像这样:

<>之前for/F "tokens=*" %%A in (filestomave .txt) do call:moveFunc %%A C:DestFolder: moveFuncmd % 2 % 1 . . 2> null移动%1 %2%1之前

当你现在运行move.bat时,1.txt22.txt将被移动到C:DestFolder。这能满足你的需求吗?

最新更新