00:00
好,那我们继续来上课,那么这节课呢,我们再来看一下我们的这个复制目录啊,那么移动和重名名他俩是一个对吧,那么这个呢,留给大家自己来完成啊,那么这一会我们再来看一下复制目录,那复制目录怎么来复制呢?那首先比如说在这里边。咱们看我这有个留言板,我想把留言板这个目录啊,复制到我的上一级目录下,也是放到这里边对吧,这里面没有叫留言板了,对不对,那你看是不是就相当于。我要去比对两个目录。3W。诶,点错了啊好了。零一十八你看啊,是不是要比对两个目录,首先我要判断,比如说你要给我两个路径,对吧,先是你要告诉我把哪个目录,然后移动到哪块去,对吧?比如说移动到这块来,那么我就要判断在这个路径下边有没有这个目录,如果没有怎么办?我是不是就创建,创建完之后呢?接下来是不是我要打开,打开它,同时我要打开不用打开它吗?不用了,对吧?我打开它以后,比如这里面有新建文件夹,那我就判这个新建文件夹在不在这个目录里边对不对,如果没有我是不是还创建,如果是文件,我是不是直接复制就可以了。
01:03
对不对,哎,这是咱们复制目录的这么一个思路,是不是两个比对的去创建去复制啊,那好了,那现在我们来看啊,在这里边。我们来新建一个文件啊,新建一个PP文件,叫做零七啊,Copy copy Co copy DR啊,复制目录,那在这里边我们要完善的功能。叫做复制。目录那一样,Fun function,比如说fun ion啊,比如说叫做Co copy Di,那么同样这里边你要给我一个路径,Src,还要给我一个目标的路径。比如说这个叫Dollar DR to,好了,给了我这两个路径以后,首先第一个问题干嘛,我是不是要判断一下目标是不是目录,对吧,你要是把一个目录给我移到,比如说你移动到,你移动到什么一个a.TST里面,是不是肯定不行啊对不对?所以第一件事我判断什么判断目标。
02:00
是否是目录对吧,那在这里边我来判断,如果。黑杠。Fail,谁呢?到了there two,如果它要是一个文件的话,我是不是直接return就行了,对吧,Return一个空啊一个空,那么在这块呢,我应该给一个提示才行,对吧,比如说我来艾一个什么目标,不是目录不能创建,对吧?好了,那接下来第二件事呢,第二件事我是不是就判断目标的位置,有没有这个目录吧,对吧,判断目标。目录是否存在对吧?不存在怎么样,是不是则创建了?哎,所以在这里边我们来一个如果取反V-eists谁呢到了DR two对吧?判断它是否存在,如果不存在,我make DR直接创建,创建谁创建这个DR two是不是就可以了?哎,好了,创建完以后在这里边我也给一个提示吧,比如说这里边叫创建目录,谁呢到了DR。To,然后成功啊,成功以后呢,我们给他一个B2好了,那创建完以后,接下来是不是就打开打开我的原目录,打开原目录开始读取,读取四目录继续打开,继续这么判断,如果是文件是不是直接移动就可以了,对不对,所以在这里面我们开始打开目录。
03:15
打开远。目录对吧,然后呢,第四件事呢,读取第五件事儿是不是关闭。对吧,关闭的话c close DR还是关闭,关闭前呢,关闭这个到了DR,那同样我打开的时候,我是不是到了DR等于叫open DR把这个刀了,呃,Drsac扔里边对吧?哎,然后开始去读读什么那菲。Name要等于re DR读这个到DR好了,读的时候我去过滤到点和点点,也就如果在这个。呃,到了。File name啊不等于点对吧,并且到了file name不等于点点的话,那这个时候我是不是要拼接路径了,哎,拼接。
04:02
路径那拼接原路径,那比如说这个叫做Dollar了F1吧啊,或者到了这个行就到了费一吧啊F1等于什么呢?Di s RC是不是原路径下边。的这个文件file name对吧?那同样我是不是还有一个目标路径,那就是到DR。Two。下边。这个文件Dollar fill live是不是这个意思对吧?那有了以后,那接下来干嘛,我是不是还要问问原路就是文件还是目录吧,A-DR谁叫Dollar fill1哎,你是文件还是,如果是目录,那我继续什么呀,拷呗。第二把什么把一传进来。二传进来,那如果你是文件呢,我是不是就直接艾一个,比如说叫做复制文件谁呢?Dollar file1对吧,让它成功来给个DRR,然后在这里边我就直接复制呗,是不是coy copy将F1的这个文件复制到哪,复制到FEEL2里面对不对?哎,这是咱们的复制是不是就搞定了,那好了,那完事以后我们现在来看可不可以啊,这句话一样,我们来调用,比如说Co py这里边我要把什么呢?我要把当前目录这个留言板也一样,我要复制哪复制到点点杠上一集,对吧,也叫留言板。
05:15
那好,那现在我们再来看啊,在这里边把它。删掉,然后点击这个,那你看告诉安迪法调用了未定义的麦麦点。我们应该怎么,应该是copy DR吧,Copy DR啊。好了,这个时候再来重新刷新,告什么呀,他说参数缺少参数。就是参数。把这个复制给了他。这个复制给了他没有问题呀,怎么告我缺少参数呢?Copy Co drr。Copy py DR I也没有打错对吧?Fun,然后进来以后Di two。
06:03
啊,如果它不存在的话,我应该是copy DR,我应该是make DR吧,Make DR创建这个目录啊,好了,这个时候我们再来执行,执行以后告诉他创建这个目录成功,然后开始复制这目录下面的所有的文件,对吧?然后这里边还有新建,新建文件夹,是不是也一样创建成功对吧?那这个时候咱们来看,在我当前留言板这里边,这些东西都不变,对不对,然后返回到0101里边,你看是不是有个留言板了,看到了是把这些东西都拿过来了,哎,是目录我就创建,创建完我把目录里的文件复制过来,对不对?哎,这就是咱们复制目录的原理啊好了,那这节课我们到这里。
我来说两句