根据文件名列表将300个图像从文件夹(包含800个图像)移动到另一个文件夹

时间:2014-12-22 19:05:31

标签: excel shell batch-file cmd batch-processing

我需要将300个图像从文件夹(包含800个图像)移动到另一个文件夹。这些300张图像的文件名列表以excel格式提供。是否可以通过编程移动它们而不是搜索文件并逐个移动它?我们的IT告诉我他不能分开这些文件。你有什么解决方案吗?非常感谢提前!!!

1 个答案:

答案 0 :(得分:1)

这是实现此目的的一种方式 - 我假设您使用的是Windows。首先,保存名为ListOfImages.txt的文本文件,其中包含您要移动的图像的名称 - 在每行上放置一个图像并包含扩展名。然后,将以下内容保存到名为movefiles.cmd的文件中:

@echo off
set Source=C:\Users\YourName\Desktop\moving\MovingFrom
set Target=C:\Users\YourName\Desktop\moving\MovingTo
set FileList=C:\Users\YourName\Desktop\moving\ListOfImages.txt
echo.

if not exist "%Source%" echo Source folder "%Source%" not found & goto Exit
if not exist "%FileList%" echo File list "%FileList%" not found & goto Exit
if not exist "%Target%" md "%Target%"

for /F "delims=" %%a in ('type "%FileList%"') do move "%Source%\%%a" "%Target%"

:Exit
echo.
echo press the Space Bar to close this window.
pause > nul

您需要更改SourceTargetFileList的变量,以匹配您拥有这些文件夹和计算机上ListOfImages.txt的位置。保存此文件后(确保其具有.cmd扩展名,您应该能够双击它并运行Command Prompt中的命令。

例如,假设我的 MovingFrom 文件夹包含以下内容:

MovingFromFolder

我只想移动Image1.pngImage2.png - 然后我的ListOfImages.txt文件会这样:

ListOfImages.txt File

运行moveFiles.cmd后(如果我已将必要的变量更改为指向我机器上的正确文件夹/位置),我的MovingTo文件夹应包含以下内容:

MovingToFolder

请注意Image2.png未被移动,因为它未在ListOfImages.txt文本文件中列出。