cmd中如何使用move命令移動(dòng)文件-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)cmd中如何使用move命令移動(dòng)文件的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

安寧網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,安寧網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為安寧上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的安寧做網(wǎng)站的公司定做!


move的使用非常簡(jiǎn)單,基本格式為 move A B。在這里,A表示你想要執(zhí)行移動(dòng)操作的文件或文件夾,B表示A被移動(dòng)后保存的位置,而A可以使用相對(duì)路徑,也可以使用絕對(duì)路徑,甚至可以使用通配符,但是,在move執(zhí)行移動(dòng)文件的功能的時(shí)候,B只能是目錄路徑,而不能是文件路徑——很難想象,你要把a(bǔ).txt文件移動(dòng)到b.txt文件里去,操作系統(tǒng)會(huì)做何感想。比如:move a.txt d:\test,表示把當(dāng)前目錄下的a.txt移動(dòng)到d:\test目錄下;move c:\test.txt d:\,表示把C盤根目錄下的test.txt文件移動(dòng)到D盤根目錄下;move c:\*.txt d:\表示把C盤根目錄下的文本文件移動(dòng)到D盤根目錄下。

另外,需要特別注意的是:move不能跨分區(qū)移動(dòng)文件夾。感謝zqz0012005的提醒。

上面已經(jīng)說(shuō)過(guò),如果你想把a(bǔ).txt移動(dòng)到b.txt文件里去,操作系統(tǒng)肯定會(huì)很不高興。

如果你確實(shí)要這么干呢?

move a.txt b.txt!

你會(huì)發(fā)現(xiàn),對(duì)于你的胡纏蠻搞,操作系統(tǒng)也沒(méi)攔著你,它很順從地執(zhí)行了你的命令,但是,結(jié)果并沒(méi)有像你所期望的那樣,把a(bǔ).txt放進(jìn)b.txt里面去,而是把a(bǔ).txt改名為b.txt了。

原來(lái),在 move A B 這樣的命令中,move具備移動(dòng)文件(夾)的基本功能,還兼有重命名文件(夾)的功效,具體起什么作用,視情況決定:

1、如果A、B同為文件夾名,則把A移動(dòng)到B目錄下;
2、如果A為文件名,
① B為文件夾名的時(shí)候,將把A移動(dòng)到B目錄下;
② B為文件名的時(shí)候,將把A重命名為B;如果B所在的位置為另一目錄,則表示在把A移動(dòng)到B所在的目錄下的同時(shí),重命名為B。

一旦你明白了move的這些用法,重命名文件的時(shí)候,你將會(huì)很容易在ren和move之間做取舍:如果只是單純地重命名文件,則ren和move任選其一即可,只是move的寫法顯得有點(diǎn)怪異而已;如果在要移動(dòng)文件之后,還要重命名文件,選擇 move c:\test.txt d:\abc\1.txt 的寫法將一步到位,而先 move c:\test.txt d:\abc 之后,再ren d:\abc\test.txt 1.txt 的寫法將顯得繁瑣,最不可取的做法,是先copy,再del/rd,最后再ren,這是追求代碼至精至簡(jiǎn)的人士所不能容忍的鋪張浪費(fèi)行為。

有時(shí)候,move的過(guò)程并不會(huì)一帆風(fēng)順,比較常見的情形是:目的地有重名文件存在,系統(tǒng)找不到指定的文件。

先說(shuō)重名文件的情況。

如果有重名文件出現(xiàn),move不會(huì)成功,它會(huì)很體貼地詢問(wèn)你:改寫××嗎?(Yes/No/All):其中,××表示目的地的重名文件。如果選擇Yes,將覆蓋重名文件;如果選擇No,則放棄move操作;如果選擇All,則在批量move的時(shí)候,如果存在同名文件,將不再詢問(wèn)是否覆蓋,而是直接覆蓋掉重名文件。

如果你嫌跳出這個(gè)提示信息很麻煩,而你的真正目的是強(qiáng)行覆蓋所有的重名文件的話,給move加上個(gè) /Y 的開關(guān),寫成 move /y A B就可以了——在cmd 窗口中,默認(rèn)情況下,move 是帶 /-y 開關(guān)的,也就是默認(rèn)會(huì)出現(xiàn)重名文件的提示信息,只不過(guò)這個(gè)默認(rèn)開關(guān)是可以省略的;而在批處理腳本中,move 默認(rèn)帶的是 /y 開關(guān),不會(huì)出現(xiàn)重名提示而直接覆蓋同名文件,和cmd窗口中的情形正好相反。


再來(lái)看系統(tǒng)找不到指定文件的情況。

有時(shí)候,你會(huì)很奇怪,move A B 的時(shí)候,A明明是存在的,為什么還要不知趣地提醒你:“系統(tǒng)找不到指定文件”呢?這不是在張口說(shuō)瞎話么?

不過(guò),微軟也挺無(wú)辜的:出錯(cuò)的情形太多了,要我對(duì)每一種出錯(cuò)情形都給出明確具體的原因,我哪有那么大的神通呀?我們搞技術(shù)的也不容易啊,能提醒你找不到指定文件,我們已經(jīng)盡力了,您老就多多包涵一下吧。

得了,我們還是自己動(dòng)手找原因吧。

原來(lái),move沒(méi)有dir的神通,它不能夠識(shí)別出帶隱藏或系統(tǒng)屬性的文件,在這些文件面前,它成了瞎子,不過(guò),這不能說(shuō)move太無(wú)能,而是微軟為了安全起見,限制了很多危險(xiǎn)命令對(duì)帶有隱藏或系統(tǒng)屬性的文件進(jìn)行直接操作——del、ren都是這副德性;而rd命令,則屬于漏網(wǎng)之魚,是個(gè)例外,要不然,微軟的系統(tǒng)就不會(huì)有打補(bǔ)丁一說(shuō)了。

如何解決這一難題呢?

沒(méi)辦法,只能老老實(shí)實(shí)地先用attrib命令去掉這些文件的隱藏或系統(tǒng)屬性,再來(lái)move吧。至于在寫批處理的時(shí)候,如何判斷哪些文件需要先attrib之后再move,哪些文件可以直接move,則不屬于本文要討論的范疇。

感謝各位的閱讀!關(guān)于“cmd中如何使用move命令移動(dòng)文件”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

分享題目:cmd中如何使用move命令移動(dòng)文件-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article20/dscjjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄網(wǎng)站策劃、商城網(wǎng)站軟件開發(fā)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司