首页系统综合问题C#如何在Windows中操作IIS设置FTP服务器

C#如何在Windows中操作IIS设置FTP服务器

时间2023-04-25 12:48:22发布分享专员分类系统综合问题浏览130

今天小编给各位分享everyone权限怎么解除的知识,文中也会对其通过C#如何在Windows中操作IIS设置FTP服务器和c是什么意思等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • C#如何在Windows中操作IIS设置FTP服务器
  • c是什么意思
  • c是什么意思的缩写
  • C有什么特殊含义
  • 一、C#如何在Windows中操作IIS设置FTP服务器

    什么是FTP

    FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件.可以将 Internet 信息服务 (IIS) 配置为作为 FTP 服务器来运行。 这样,其他计算机便可以连接到服务器并将文件复制到服务器或者从服务器复制文件。 例如,如果您在自己的计算机上承载网站,并且希望允许远程用户连接到您的计算机并将他们的文件复制到服务器,则可以将 IIS 配置为充当 FTP 服务器。

    主要实现方式

    下面主要讲解一下,在Window的IIS中创建FTP的Site。

    1、创建站点

     public int createFtpSite(string ftpname,string path){            int errorCode = ErrorCode.Succeed;            if (ftpname == "" && path == "")            {                try                {                    ServerManager iisManager = new ServerManager();                    Configuration cfg = iisManager.GetApplicationHostConfiguration();                    /*---- 停止21端口 ----*/                    try                    {                        /*---- sites ----*/                        foreach (var ftpsite in iisManager.Sites)                        {                            /*                            * 站点描述                            */                            string sitename = ftpsite.Name;                            /*                            * 站点绑定域名和端口                            */                            foreach (Binding binding in ftpsite.Bindings)                            {                                try                                {                                    string currentServerBindings = binding.GetAttributeValue("BindingInformation").ToString();                                    string port = currentServerBindings.Split(":".ToArray())[1];                                    if (port == "21")                                    {                                        try                                        {                                            //stop site                                            ftpsite.Stop();                                        }                                        catch                                        {                                            //doing nothing                                        }                                        break;                                    }                                }                                catch                                {                                    //doing nothing                                }                            }                        }                        //提交更改                        iisManager.CommitChanges();                    }                    catch                    {                        //do nothing                    }                    /*                     * 创建FTP                    */                    if (!System.IO.Directory.Exists(System.Configuration.ConfigurationManager.AppSettings.Get("defaultftpath")))//创建站点路径                    {                        System.IO.Directory.CreateDirectory(System.Configuration.ConfigurationManager.AppSettings.Get("defaultftpath"));                    }                    Site site = iisManager.Sites.Add(System.Configuration.ConfigurationManager.AppSettings.Get("defaultftp"), "ftp", string.Format("*:{0}:", "21"), System.Configuration.ConfigurationManager.AppSettings.Get("defaultftpath"));                    iisManager.CommitChanges();                    //设置FTP SSL权限                    SetFtpSSL();                    //设置FTP Everyone权限                    IISUtil.IISCore.AddSiteUtil addsiteUtil = new AddSiteUtil();                    try                    {                        string config_rootpath = System.Configuration.ConfigurationManager.AppSettings.Get("defaultftpath");                        //string rootpath = path.Substring(0, path.IndexOf(ftpname) - 1) + "\ftproot";                        if (!System.IO.Directory.Exists(config_rootpath))                        {                            System.IO.Directory.CreateDirectory(config_rootpath);                        }                        addsiteUtil.icaclsSet("Everyone", System.Configuration.ConfigurationManager.AppSettings.Get("defaultftpath"));                        /*---- hide ----*/                        System.IO.File.SetAttributes(config_rootpath, System.IO.FileAttributes.Hidden);                    }                    catch                    {                    }                }                catch                {                    errorCode = ErrorCode.ftpSiteFail;                }                            }            else            {                if (!getFtpState(ftpname))//判断ftp用户是否存在                {                    /*---- FTP状态检查 ----*/                    FtpStateInit();                    try                    {                        using (ServerManager iisManager = new ServerManager())                        {                            Site site = iisManager.Sites.FirstOrDefault(o => ((string)o["name"]).Contains(System.Configuration.ConfigurationManager.AppSettings.Get("defaultftp")));                            var vird = site.Applications[0].VirtualDirectories["/" + ftpname];                            if (vird == null) { site.Applications[0].VirtualDirectories.Add("/" + ftpname, path); }                            else { errorCode = ErrorCode.ftpExists; }                            iisManager.CommitChanges();                            //添加FTP访问权限                            SetFtpAccess(ftpname);                        }                    }                    catch                    {                        errorCode = ErrorCode.ftpSiteFail;                    }                }                else                {                    errorCode = ErrorCode.ftpExists;                }            }            return errorCode;        }

    2、站点列表

    /// <summary>        /// iis6获取所有ftp站点信息        /// </summary>        /// <param name="newsitename"></param>        /// <returns></returns>        public static List<string> iGetFtpInfos()        {            List<string> ftpinfos = new List<string>();            try            {                string ftproot = System.Configuration.ConfigurationManager.AppSettings.Get("defaultftp");                string ftpname = "";//用户名                string ftppass = "";//密码                string ftppath = "";//物理路径                string iisversion = "";//iis版本                string majorversion = IISCore.IISInfoUtil.SGetIISMajorVersion();                if (majorversion == "")                {                    iisversion = "未知";                }                else                {                    iisversion = majorversion.ToString();                }                /*                 * 创建FTP 子站点                 */                var siteEntry = new DirectoryEntry("IIS://localhost/MSFTPSVC");//IIS6管理对象                DirectoryEntry rootentry = new DirectoryEntry("IIS://localhost/W3SVC");//创建IIS管理对象                foreach (DirectoryEntry sitechild in siteEntry.Children)                {                    if (!sitechild.SchemaClassName.EqualsEx("IIsFtpServer"))    //IIsFtpServer代表FTP                        continue;                    string yftpname = sitechild.Properties["ServerComment"].Value.ToString();                    string defaultftpname = System.Configuration.ConfigurationManager.AppSettings.Get("defaultftp");                    if (yftpname == defaultftpname)                    {                        try                        {                            //获取站点信息                            var root = sitechild.Children.Find("ROOT", "IIsFtpVirtualDir");                            DirectoryEntries ftps = root.Children;                            foreach (DirectoryEntry ftp in ftps)                            {                                ftpname = ftp.Name;                                /*                                 * 获取密码                                 */                                try                                {                                    /*                                    * 循环站点获取站点信息                                    */                                    foreach (DirectoryEntry child in rootentry.Children)                                    {                                        if (child.SchemaClassName == "IIsWebServer" && child.Properties["ServerComment"].Value.ToString() == ftpname)                                        {                                            ftppass = child.Properties["AnonymousUserPass"].Value.ToString();                                            /*                                             * 获取站点目录                                             */                                            foreach (DirectoryEntry rootChild in child.Children)                                            {                                                string name = rootChild.Name.ToString();                                                if ((rootChild.SchemaClassName == "IIsWebVirtualDir") && (rootChild.Name.ToString().ToLower() == "root"))                                                {                                                    if (rootChild.Properties["Path"].Value == null)                                                    {                                                        ftppath = "";                                                    }                                                    else                                                    {                                                        ftppath = rootChild.Properties["Path"].Value.ToString().Substring(0, rootChild.Properties["Path"].Value.ToString().LastIndexOf("\"));                                                    }                                                }                                            }                                        }                                    }                                }                                catch                                {                                }                                /*                                 * 获取路径                                 */                                if(ftpname != "")                                    ftpinfos.Add(ftproot + "-@-" + ftpname + "-@-" + ftppass + "-@-" + ftppath + "-@-" + iisversion);//添加到站点信息                            }                        }                        catch                        {                        }                    }                }            }            catch            {            }            return ftpinfos;//返回数据        }

    3、删除站点

      public static bool DeleteQFtp(string ftpname)        {            bool flag = false;            try{                /*                * 删除FTP 子站点                */                var siteEntry = new DirectoryEntry("IIS://localhost/MSFTPSVC");//IIS6管理对象                if (ftpname != "")                {                    foreach (DirectoryEntry sitechild in siteEntry.Children)                    {                        if (!sitechild.SchemaClassName.EqualsEx("IIsFtpServer"))    //IIsFtpServer代表FTP                            continue;                        string yftpname = sitechild.Properties["ServerComment"].Value.ToString();                        if (yftpname.ToLower() == System.Configuration.ConfigurationManager.AppSettings.Get("defaultftp").ToLower())                        {                            try                            {                                DirectoryEntry root = sitechild.Children.Find("ROOT", "IIsFtpVirtualDir");                                var ftpchild = root.Children.Find(ftpname, "IIsFtpVirtualDir");                                if (ftpchild != null)                                {                                    //删除                                    root.Children.Remove(ftpchild);                                    root.CommitChanges();                                    sitechild.CommitChanges();                                    siteEntry.CommitChanges();                                    flag = true;                                }                            }                            catch                            {                                flag = false;                            }                        }                    }                }            }            catch            {            }            return flag;        }

    公众号 后端Q

    一、c是什么意思

    c是什么意思

    c是什么意思?在每个知识领域中,我们都会用一些文字或者符号来代表它的定义,就如同C,在数学、医学、经济、化学、计算机等领域中有着不同的含义,那么c是什么意思?

    c是什么意思1

    c代表什么?

    1、C在数学及计算机科学中,表示十六进制的12

    2、MS-DOS(2 0或以后版本)及微软视窗作业系统称第一个实体硬盘上的可开机(active)主分割中的逻辑磁盘为“C:”或“c:”,系统档案都是分别放在此磁盘的DOS、Windows或Winnt子目录中大写C代表

    3、在化学中,表示碳的化学符号

    4、在乐理中,表示:音阶中的C音,调号中于C音开始的音乐的C大调及C小调

    拍子记号中的4/4拍子

    5、在罗马数字中表示100

    6、在国际单位制的电荷中表示库仑

    7、在计算机科学中,有C语言、C++、C#、Objective-C等

    8、在营养学中,表示维生素C

    9、在生物化学中,表示胞嘧啶,是构成DNA的四种核苷酸结构之一

    10、在物理学中,表示电容

    11、在数学中,表示:复数、不定积分解之常数项、圆周

    12、在机率中,组合会以C表示。

    13、在对称元素中,C表示旋转轴。

    14、字母c的发展史

    15、1 5V干电池的标准尺寸之一

    16、温度的单位摄氏(℃)

    17、在宝石学中,钻石的鉴定标准简称“4C”,分别代表切割(Cut)、色泽(Colour)、净度(Clarity)和重量(Carat)

    18、在电子商贸术语中,有C2C、B2C等的交易形式,C表示“Consumer”

    19、在印刷四分色模式(CMYK)中,表示青色(Cyan)

    20、在桥牌的'叫牌过程中,C表示梅花牌(Club),如“2梅花”记作“2C”

    21、在评核制度中,C表示“常”

    22、在DVD及数位电视中,CC代表隐藏字幕(Closed Caption)。等等

    c是什么意思2

    C开头的唯美单词

    cabbagen 洋白菜,卷心菜 cabinn 小屋;船舱,机舱 cabinetn 橱,柜;内阁 cablen 缆,索;电缆;电报

    cafen 咖啡馆;小餐厅 cafeterian 自助食堂 cagen 笼;鸟笼,囚笼 caken 饼,糕,蛋糕 calculatevt 计算;估计;计划

    calculationn 计算,计算结果 calculatorn 计算器,计算者 calendarn 日历,历书;历法 callvt 把…叫做;叫,喊

    calma 静的,平静的 cameln 骆驼 cameran 照相机,摄影机 campn 野营,营地,兵营 campaignn 战役;运动

    campusn 校园,学校场地 canaux v 能,会,可能 cann 罐头,听头;容器 Canadan 加拿大 Canadiana 加拿大的

    canaln 运河;沟渠;管 cancelvt 取消,撤消;删去 cancern 癌,癌症,肿瘤 candidaten 候选人;投考者

    candlen 蜡烛;烛形物;烛光 candyn 糖果;砂糖结晶 cannonn 大炮,火炮;榴弹炮c anoen 独木舟,皮艇,划子

    canteenn 小卖部;临时餐室 canvasn 粗帆布;一块油画布 capn 帽子,便帽;帽状物 capablea 有能力的,有才能的

    capacityn 容量;能力;能量 capitaln 资本,资金;首都 captainn 陆军上尉;队长 captiven 俘虏,被监禁的人

    capturevt 捕获,俘获;夺得 carn 汽车,小汽车,轿车 carbonn 碳 cardn 卡,卡片,名片 carevi 关心,介意n 小心

    careern 生涯,职业,经历 carefula 仔细的;细致的 carelessa 粗心的,漫不经心的 cargon 船货,货物

    carpentern 木工,木匠 carpetn 地毯,毡毯,毛毯 carriagen 客车

    c是什么意思3

    26个字母原始象形意义和发展历史

    A:最初的形象为牛头,后来也引申为首要的,重要的;在具体形象上也作为头、角,上方等。

    B:最初的形象为房子,后来也引申为生育、突起、树,二等;更多的意思也在拟声词中得到体现。

    C:最初的形象为骆驼,有说是驱赶骆驼的鞭子或棍棒,也有说是张开嘴时露出的牙齿侧面。总之都和骆驼有关。

    D:最初的形象是房子的门,也有称为石头的,也引申为往下,掉落等意思。

    E:最初的形象是窗户,也引申为洞。

    F:最初的形象是钉子,尖锐的东西。后来也引申为微咸的东西等。

    G:这个和C是差不多同源的,这个是牙齿的侧面多了一个舌,也就是嘴的形象了。

    H:最初表示栅栏、篱笆,也引申为藏、隐蔽等意思。

    I:最初表示手指的形象,也引申为直线,棍棒等意思。

    J:这个最初是没有的,在中世纪拉丁文中,J由I变形而来,表示的意义相同,在中世纪,一般首字母为I的单词写成J。

    K:最初为手掌的形象,也引申为击打,力量等含义。

    L:最初表示棍棒,也引申为直的,向上的等含义。

    M:最初表示波浪形状,也指水。

    N:最初表示曲折的蛇或鱼。

    O:表示眼睛,太阳,口等意思。

    P:表示嘴唇。

    Q:最初表示猴子的形象,也引申为质疑。

    R:人的头部。

    S:最早是牙齿的形状,也表示牙齿,后来也引申为嘴里发出的弯曲的气流。

    T:最早是古人在树上等地方进行标志,也就是符号的意思。

    U:由V演化而来。意思见V。

    V:最初表示一种尖形的钉子。

    W:由V演化而来,后来把两个V写成W。意思见V。

    X:最早表示一种未知的鱼,后来也引申为鱼。

    Y:由V演化而来,意思见V。

    Z:表示宇宙之神--宙斯,也多引申为曲折等意

    二、c是什么意思的缩写

    c是什么意思的缩写

    c是什么意思的缩写,生活中,我们喜欢用各种各样的符号来代替想要表达的真实意思,这是为了更加省时间和方便我们,加上世间万物的意义可以被我们赋予,下面分享c是什么意思的缩写。

    c是什么意思的缩写1

    C是cell英语名称的简称,意思是细胞。

    词汇解析:

    cell 基本词汇

    英 [sel] 美 [sel]

    n. 单人牢房;小房间;细胞;蜂房的巢室;电池;政治小组;(计算机电子表格的)单元格;手机

    The prisoner was locked in a cell.

    那囚犯被关在单人牢房内。

    diseased cell 发生病变的细胞

    dry cell 干电池

    词汇的同近义词

    cubicle 畅通词汇

    英 [kjubkl] 美 [kjubkl]

    n. 小室

    A technical sergeant hunches in a cubicle.

    一位技术军士在一间小屋里弯腰坐着。

    dressing cubicle 梳妆室

    cubicle switchgear 组合开关装置...

    c是什么意思的缩写2

    【缩写简介】

    C:度(摄氏温度计)

    C:现金

    C:通货

    C:精梳

    C:棉花

    C:碳

    C:合并

    C:中锋

    C:复数

    c:厘

    C:Cedi(货币的加纳)

    C:Centum(涉及一个印欧语言的发音)

    C:v.咳嗽C:v.平静下来,镇静

    C:vi.(棋)移动王车易位

    C:vi.击打,完全符合,成功,以点击的方式选择

    C:vi.使环行

    C:vt.把...编码,制成法典

    C:vt.使成杯形

    C:vt.装箱,踩点

    C:不断的集成电路(微积分)

    C:结合(国防部)

    C:联邦储备银行的今天,在宾夕法尼亚州的费城(指定原点的美元纸币发行量)

    C:冒号(货币的哥斯达黎加和萨尔瓦多)C:染色体(如在条施)

    C:套复杂的数字(数学)

    C:我们爬线模式(国防部)

    c:血气含量

    C:中央标准时间(如用于时间组)

    c是什么意思的缩写3

    c在爱情的含义是什么

    C指的.是现在流行的C型爱情观。

    C型爱情观

    “C型爱情观”指的是对现代爱情关一种新的定义。在爱情中,有进有退、牵手分手的循环,已不再是个稀奇风景,而“有始有终”,在“C型爱情观”中有了崭新的定义——有开始,就必有终了之时。

    它的最大特点在于人们不再将青春耗损在不良关系上。 C型人生取代了线型人生,俨然成为现代人的一种新的生活方程式。 因此,C型爱情观也开始取代了只进不退的直线爱情观,在爱情中,有进有退、牵手分手的循环,已不再是个稀奇风景,而“有始有终”,也在爱情中有了崭新的定义——有开始,就必有终了之时。

    C型爱情观改写了爱情的内涵,对于C型情人而言,爱情在漫长的人生中将多次更新,所以极可能多次坠入爱河。 如果知道C型爱情观正在当道,有些人在互换结婚戒指之时,脑中想的可能不是天长地久的誓约,而是“不合则离”的共识,这么做可能让爱情及婚姻更加脆弱。

    三、C有什么特殊含义

    C有什么特殊含义

    C有什么特殊含义,C是英文字母顺数第三个,在生活中有很多场景都能出现C,在考试的时候我们常常可以看到C选项,很多英文单词中也含有C,那C有什么特殊含义?

    C有什么特殊含义1

    C(大写) 、c(小写)是英文字母顺数第三个,俄语字母顺数第19个。例如:英语单词cloud和“苏联”的俄语缩写СССР的第一个字母就是c。

    字母的含义

    在数学及计算机科学中,表示十六进制的12。

    MS-DOS(2.0或以后版本)及微软视窗作业系统称第一个实体硬盘上的可开机(active)主分割中的逻辑磁盘为“C:”或“c:”,系统档案都是分别放在此磁盘的DOS、Windows或Winnt子目录中。

    大写C代表

    1、在化学中,表示碳的化学符号。

    2、在乐理中,表示:

    音阶中的C音,

    调号中于C音开始的音乐的C大调及C小调,

    拍子记号中的4/4拍子。

    3、在罗马数字中,表示100。

    4、在国际单位制中,表示电荷量的单位“库仑”。

    5、在计算机科学中,有C语言、C++、C#、Objective-C等。

    6、在营养学中,表示维生素C,即 抗坏血酸。简称“维C”“V C”。

    7、在分子生物学与生物化学中,表示胞嘧啶,是构成DNA的四种核苷酸结构之一。

    8、在物理学中,表示物理量“电容”的符号。

    9、在数学中,表示:

    复数集(大写黑体),

    不定积分结果之常数项,

    周长

    10、在机率中,组合会以C表示。

    11、在对称元素中,C表示旋转轴。

    12、1.5V干电池的标准尺寸之一。

    13、温度的单位“摄氏度”(℃)。

    14、在宝石学中,钻石的鉴定标准简称“4C”,分别代表切割(Cut)、色泽(Colour)、净度(Clarity)、重量(Carat)。

    15、在电子商贸术语中,有C2C、B2C等的交易形式,C表示“Consumer”。

    16、在印刷四分色模式(CMYK)中,表示青色(cyan)。

    17、在桥牌的叫牌过程中,C表示梅花牌(Club),如“2梅花”记作“2C”。

    18、在评核制度中,C表示“常”。

    19、在DVD及数位电视中,CC代表隐藏字幕(Closed Caption)。

    小写c代表

    1、在物理学中,代表真空中的光速,为 299792458m/s。

    2、在小写字母中划一竖线表示“分”(货币),

    3、在国际单位制词头,c表示centi-,即一百分之一(10^-2)

    4、在小写字母外围划一圆圈:表示版权所有

    5、在代数学中,常表示常数。

    6、在几何学中,表示截距(intercept)。

    7、在文件或电子邮件上,cc表示“副本抄送”。

    8、在度量衡中,cc是“立方厘米”(cubic centimetre)的'缩写。

    9、在无线电通话中,字母C,拼写为:Charlie。读作:CHAR LEE 或 SHAR LEE。

    其他

    1、在网络语言中,c经常被用来替代“see”,如“ic”即“I see”,“cu”即“see you”。

    2、在香港的茶餐厅中 ,侍应常将“冻”(Cold)省作“C”。例如“C0T”即“冻、柠(零)、茶(TEA)”。

    C有什么特殊含义2

    1、饭圈的C指的是C位。

    2、C位,2018年度十大网络流行语,即Carry或Center,核心位置的意思。早期在游戏领域一直作为Carry位的意思,指能够在游戏中后期担任主力带领队伍的角色。后来,C位这个词在游戏中应用的越来越广,逐渐转到生活当中。当某一个人在团队中的处于核心位置时,人们便称呼他是Center位,在影视剧或综艺海报中,这个位置也是咖位比较高的人。

    C位一词最早来源于《DOTA》、《英雄联盟》等游戏领域,译作Carry位,指核心后期角色,能够在游戏前中期打钱发育并在游戏后期带领队伍力挽狂澜的角色。

    在DOTA中又称作大哥位、1号位。说白了就是大后期,打钱,出装备,团队都要保护他。

    在LOL中,C位有以下路射手为主的ADC(Attack Damage Ca

    rry)和以中单法师为主的APC(Ability Power Carry)两种C位,但都是队伍中的核心角色。

    娱乐圈领域

    C位一词逐渐扩大到娱乐圈,在合影、海报、舞台表演等时候,只要当某一个人在团队中的处于中心位置时,人们便称呼他是Center位 。

    C位一词也多用于对团队中成员等级的划分。当然,这种中心位置并不仅仅是指在站队形的时候站在中心位置上,也可以理解为精神意义上的中心位置。中心成员并不一定是团队内的队长类领队人物。

    C位是大咖位,是对艺人实力的最好证明,艺人们自然会想着去力争C位,正所谓“不想当将军的兵不是好兵,不想站C位的明星不是好明星”。

    游戏领域

    除C位Carry位外,与之相对还有G位与S位。

    G位就是GANK位,一般定义为游走带节奏,就是在游戏前中期带动起全队节奏的英雄。

    S位就是Support位,辅助位,所谓包鸡包眼,让经验,跟着打架,保护己方C位英雄。

    C有什么特殊含义3

    “C位”是center,中心位置的意思,指艺人在宣传海报中的中间突出位置。

    1、C位一词最早来源于游戏领域,C位的C有许多种翻译,有人译为Core、Carry,也有人译为Center,但是重点都没有偏离,那就是“核心”。每个战队都有一个C位的存在,它是能够带动全场节奏,属于主力输出的地位。

    2、C位一词逐渐扩大到娱乐圈,在合影、海报、舞台表演等时候,只要几个艺人往一块凑,就会出现处于中心的C位。

    扩展资料:

    1、C位是偶像团体中,指站在团队中心位置上的成员。多用于日娱圈内对偶像团队中成员等级的划分,其他地域的偶像团体一般不用这些划分成员等级的制度。

    2、center成员除了队形上站在中心位置外,另一般在在综艺节目或打歌Live之类的番组上得到较多的发言权,在出新曲拍PV的时候分到比较多的镜头和唱词。

    3、center的时效性很短,一般仅仅是在一首单曲这样的时长。而有些团体因为成员人数或成员实力的关系,center成员基本不作变动,便可以当做ACE成员做同意理解。

    4、这种中心位置并不仅仅是指在战队形的时候站在中心位置上,也可以理解为精神意义上的中心位置。中心成员并不一定是团队内的队长类领队人物。

    关于everyone权限怎么解除的问题,通过《c是什么意思的缩写》、《C有什么特殊含义》等文章的解答希望已经帮助到您了!如您想了解更多关于everyone权限怎么解除的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    everyone权限怎么解除
    教你常见的电脑蓝屏代码大全 如布科技发布全新虚拟IP“小布”有AI有爱的陪伴