【问题标题】:Importing images from Oscommerce to Magento将图像从 Oscommerce 导入 Magento
【发布时间】:2014-11-06 15:47:19
【问题描述】:

我正在迁移到 Magento。我正处于需要将图像从 oscommerce 移动到 Magento 的一步。我已经看到 Magento 将产品图片放在 media/catalog/product 中。我还可以看到,当将图像添加到此文件夹时,它将上传的文件名的第一个字符作为文件夹和文件扩展名的第二个字符。

所以结构看起来像这样 media/catalog/product/a/b/abc.jpg

由于我有 3000 多个图像产品要导入,是否有可以自动创建的脚本?

它需要获取文件名的第一个和第二个字符并从这些字符创建文件夹。然后它将文件转储到最后一个文件夹中,即第二个字符。

干杯,

约拿

【问题讨论】:

    标签: magento batch-file data-migration


    【解决方案1】:

    这将遍历图像所在文件夹中的所有文件(只需将目录调整为完整路径)并为每个文件创建一个文件夹(在media\catalog\product 目录中 - 再次调整为完整路径)基于文件的第一个字母。

    然后它将在文件的第二个字母命名的第一个字母下创建一个子文件夹。

    与前 2 个字母匹配的所有文件都被移动到子文件夹中(同样,将路径的 media\catalog\product 部分调整为完整路径)。

    setlocal enabledelayedexpansion
    cd C:\media\catalog\product
    for %%a in (C:\imagefolder\*.*) do (
    set char=%%~nxa
    set char1=!char:~0,1!
    set char2=!char:~1,1!
    if not exist !char1! md !char1!
    if not exist !char1!\!char2! md !char1!\!char2!
    move "%%a" !char1!\!char2!
    )
    

    【讨论】:

    • @downvoter?你至少可以解释为什么你投了反对票!
    • 我试过你的脚本,但不幸的是它没有工作。当我运行它时,它会根据文件名创建文件夹,但它没有将文件放在最后一个文件夹中。此外,如果有两个文件并且它们都以相同的两个字符开头,则脚本应该从第一个字符和第二个字符创建文件夹,然后将文件转储到第二个文件夹中。当脚本读取第二个文件时,它应该注意到这些字符已经被创建。然后,脚本会将文件移动到已创建其名称的第一个和第二个字符的目录中。
    • 我已经更新了我的答案以使用相同的 2 个起始字母来做文件名,并添加了更多信息。
    • 我刚刚测试了我的最新编辑,它运行良好。我有一个文件C:\a\New Text Document.txt 和一个.rar(同名),它把它们移到C:\a\N\e
    • 我再次尝试了您的脚本并更改了目录,但我收到一条消息,提示“文件名、目录名或卷标语法不正确”。我在图像所在的目录中运行这个 bat 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 2023-04-09
    • 1970-01-01
    • 2011-06-29
    • 2016-07-21
    • 1970-01-01
    相关资源
    最近更新 更多