Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像从Oscommerce导入到Magento_Magento_Batch File_Data Migration - Fatal编程技术网

将图像从Oscommerce导入到Magento

将图像从Oscommerce导入到Magento,magento,batch-file,data-migration,Magento,Batch File,Data Migration,我正在迁移到Magento。我需要将图像从oscommerce移动到Magento。我看到Magento将产品图像放在媒体/目录/产品中。我还可以看到当一个图像被添加到这个文件夹中时,它是如何将上传的文件名的第一个字符作为文件夹,以及文件扩展名的第二个字符 因此,结构将类似于media/catalog/product/a/b/abc.jpg 有没有一个脚本可以自动创建这一点,因为我有刚刚超过3000图像产品导入 它需要获取文件名的第一个和第二个字符,并使用这些字符创建文件夹。然后它会将文件转储到

我正在迁移到Magento。我需要将图像从oscommerce移动到Magento。我看到Magento将产品图像放在媒体/目录/产品中。我还可以看到当一个图像被添加到这个文件夹中时,它是如何将上传的文件名的第一个字符作为文件夹,以及文件扩展名的第二个字符

因此,结构将类似于media/catalog/product/a/b/abc.jpg

有没有一个脚本可以自动创建这一点,因为我有刚刚超过3000图像产品导入

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

干杯


Jonah

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

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

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


@投票人?你至少可以解释一下你为什么投了否决票!我试过你的剧本,但不幸的是没有成功。当我运行它时,它根据文件名创建了文件夹,但没有将文件放在最后一个文件夹中。此外,如果有两个文件,并且它们都以相同的两个字符开头,则脚本应该从第一个字符和第二个字符创建文件夹,然后将文件转储到第二个文件夹中。当脚本读取第二个文件时,应该注意到已经创建了这些字符。然后,脚本将文件移动到已创建其名称的第一个和第二个字符的目录中。我已用相同的两个起始字母更新了do文件名的答案,并添加了更多信息。我刚刚测试了我的最新编辑,效果非常好。我有一个文件
C:\a\New Text Document.txt
和一个
.rar
(同名),它将它们移动到
C:\a\N\e
。我再次尝试了您的脚本并更改了目录,但收到一条消息说“文件名、目录名或卷标语法不正确”。我正在图像所在的目录中运行这个bat文件。
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!
)