我在数组中存储多个字符串的目的是因为我编写了批处理脚本来读取文本文件。如果在文本文件中检测到指定的单词,它会将一个字符串存储到一个数组中。在经过多个文本文件(它将是数组中的多个字符串)之后,我想回显数组中的所有字符串并通过电子邮件发送给指定人员。经过许多帖子后,我看到的全部是set myarray[0]=abc
或者该数组已经手动声明。将字符串存储到数组中
这里是我的代码:
@echo off
setlocal EnableDelayedExpansion
(
for %%x in (
C:\Users\310152922\Desktop\Mohit_Task\AutomatedScript\COB\sucess.txt
) do for /f "usebackq delims=" %%a in ("%%~fx") do (
set "str=%%a"
set "part1=!str:~0,10!"
set "part2=!str:~11,8!"
set "part3=!str:~20,4!"
-------------------------------------------------------------------
**I wanted to set an array here (Do not want manually set the string) **
**If the "NoneFolder" word detected, store the string into array**
if "!part1!" == "NoneFolder" (
echo No Folder **<< Wanted to store this**
)
if "!part1!" == "Downloaded" (
echo Downloaded
)
** If the "EmptyFiles" word detected, store string into array **
if "!part1!" == "EmptyFiles" (
echo No files **<< Wanted to store this**
)
** Echo the array here **
------------------------------------------------------------------
)
)>"C:\Users\310152922\Desktop\Mohit_Task\AutomatedScript\COB\email.txt"
pause
预期输出:
for循环后,阵列应该得到No folder
和No files
。
仅供参考,这是一个监控脚本,用于扫描多个文本文件。所以我需要它(数组)来收集多个字符串,并向用户回显和EMAIL。
P.s.任何关于如何通过电子邮件发送给用户分享的帖子=)? 如果有任何问题,请问我!
编辑(附加):告诉你们关于我的任务
我的任务是遍历日志文件。在检查每一行时,如果检测到关键字,应将整行信息通过电子邮件发送给用户(我不知道如何保存字符串并将所有存储的字符串通过电子邮件发送给用户,每次检测到关键字时都不可能发送,并且会发送一封电子邮件。然后我的用户会生我的气......)所以我有这个想法,也许我可以在阵列上做到这一点。除了array = /我完全不能想到其他方式。
感谢您的观看,评论和解答。请向我解释!谢谢!
Email.bat这里:http://stackoverflow.com/questions/21432006/script-to-start-service-if-not-running-then-email-results/21435658#21435658 – foxidrive
你的任务似乎要根据结果检查文件中的字符串并将某些内容回显到文件中。如果您在问题中描述任务,或者打开一个新问题,则可以以更简单的方式完成此操作。 – foxidrive
@foxidrive感谢email.bat!我会看看它。是的,我的任务是循环访问日志文件。在通过每一行时,如果检测到关键字,应该将整行信息通过电子邮件发送给用户(我不知道如何保存字符串并将所有存储的字符串通过电子邮件发送给用户)。所以我有这个想法,也许我可以在阵列上做到这一点。除了array = /我完全不能想到其他方式。天哪〜 –