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
Batch file 如何将电子邮件从文件夹列表中提取到windows中的文件夹名称中?_Batch File - Fatal编程技术网

Batch file 如何将电子邮件从文件夹列表中提取到windows中的文件夹名称中?

Batch file 如何将电子邮件从文件夹列表中提取到windows中的文件夹名称中?,batch-file,Batch File,我有一个文件夹列表,其中包含以下名称: (大约有700个文件夹,因此不能手动操作) 注意:在名称和电子邮件之间始终存在: " - " " + " 在电子邮件之间,存在时始终存在: " - " " + " 我想坐飞机 “命名”并在excel表格中为每个名称分配所有电子邮件 我想我需要一个批来循环所有文件夹,获取文件夹名称,提取名称,提取电子邮件,并在文本文件中记录。对于重复的电子邮件,我希望有另一行,这样每个名字都有一封电子邮件。这些名字可能会重复,但它们指的是不同的电子邮件 然后

我有一个文件夹列表,其中包含以下名称: (大约有700个文件夹,因此不能手动操作)

注意:在名称和电子邮件之间始终存在:

 " - "
 " + "
在电子邮件之间,存在时始终存在:

 " - "
 " + "
我想坐飞机

“命名”并在excel表格中为每个名称分配所有电子邮件

我想我需要一个批来循环所有文件夹,获取文件夹名称,提取名称,提取电子邮件,并在文本文件中记录。对于重复的电子邮件,我希望有另一行,这样每个名字都有一封电子邮件。这些名字可能会重复,但它们指的是不同的电子邮件

然后从文本文件转换成excel文件


感谢您的帮助

从目录目录中的命令行运行这两个命令

for /D   %a in (*.*) do @echo %a >> dlist.txt

for /F "tokens=1,2* delims=-" %a in (dlist.txt) do @echo "%a" ; "%b" >> emails.csv

在Excel的VBA中粘贴以下内容:

Option Explicit

Sub GetFileNames()
Dim i As Integer
Dim fso As Object, folder As Object, subfolder As Object
i = 0


Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Users\****\Desktop\****")

For Each subfolder In folder.SubFolders
    ActiveCell.Offset(i) = subfolder.Name
    i = i + 1
Next subfolder
端接头

  • 选择第一列,第一行
  • 然后单击“运行”,以运行VBA命令
  • 这将创建具有文件夹名称的所有行
  • 然后在B中,使用以下公式:“=LOCALIZAR(“-”A2)”
  • 在C中:“=NÚM.CARACT(A2)”
  • 在D中:“=SEG.TEXTO(A2;1;B2)”
  • 在E中:“=分段文本(A2;B2+3;C2)”
  • 在F中:“=SUBST(E2;“+”;“,”)
在D中,您将获得名称,在F中,您将获得所有电子邮件,以“,”分隔。
就这些

我想您正在windows/command/poweshell中寻找解决方案?我不太清楚,我只想要一个简单的解决方案。。excel vb文件或类似的文件很好,你是说文件而不是文件夹吗?(所以您有一个文件夹,其中包含符合所述名称的文件?)。。我有一个根文件夹,其中有700个文件夹。我需要的是他们的名字,然后是字符串中的一些作物谢谢,但我创建了一个新文件:“runthis.cmd”,然后编辑,粘贴答案,然后双击。它不会生成任何文件…:它是如何工作的?再次感谢;)您可以为s嵌套
,无需放置临时文件。此外,您正在生成无效的CSV。这在我的win vista中没有生成任何内容。。。也以管理员的身份运行。不luck@Totty我确实直接从命令行运行了这些命令。您应该从您的电子邮件目录所在的目录运行它。第一个commonad应该给你一个保存目录的dlist.txt,第二个应该生成emails.csv@Joey你会怎么做,因为我不知道如何将/F中的文件集限制为目录(这是OP要求的)。如果在批处理文件中运行它,你需要使用
%%a
,而不是
%a