2016-08-11 69 views
0

因此,我的同事問我爲他創建批處理,這將從網絡文件夾移動文件(在我的情況下,ZIP)到另一個網絡文件夾。同事將在他的Thumb閃存驅動器上不時使用該批處理腳本。批處理 - 如何找到文件夾,如果路徑是未知的

任何方式,我有我的批處理腳本來做到這一點:

  1. 轉到\文件夾1 \存檔。
  2. move "\\folder1\archive\file.zip" "\\###.###.#.#\Newfolder\Archive"

現在,我有問題。當我的同事將在其他計算機上使用此腳本時,壓縮文件的路徑將不起作用。這意味着,我需要以某種方式找到路徑。

這是路徑將如何改變在其他計算機上:

移動 「\」 另一個文件夾 「\存檔\ file.zip」 「\ ### ### ## \ Newfolder \存檔」。

所以我的問題是,我如何找到「另一個文件夾」的路徑?

+0

'move'無法將文件移動到另一個磁盤(因爲它不會觸及文件本身,而只會更改文件分配表)。改爲使用'copy'或'xcopy'和'del'。 – Stephan

+0

你可以看看這些屏幕?也許我是愚蠢的或卑鄙的。但我真的不明白爲什麼我不能使用移動?我看起來很好。 [鏈接](https://postimg.org/gallery/111p3kuqu/96410afa/) – Vairis

+0

呃 - 對不起,我把'move'與'ren'混淆了。你是對的,你可以在這裏使用'移動'。 – Stephan

回答

1

首先, UNC文件路徑爲\\servername\sharename\folder\file.ext,因此您的移動不起作用。其他文件路徑是Drive:\folder\file.ext和相對路徑\subfolderofcurrentfolder\file.ext

Dir c:\filename.ext /s 

搜索文件。要獲得答案

For /f "delims=" %%A in ('dir c:\file.ext /a /s /b') Do echo %%A 
+0

嘿,我創建了新的批處理文件並測試了我提到的路徑。一切正常(通過Newfolder我的意思是共享名),但告訴我,我沒有訪問權限。我猜腳本需要作爲管理員運行。然而,這不是我想寫這個評論的原因。我想問你,你能解釋一下你在下面添加的代碼嗎?我如何將它添加到代碼中,以便它搜索正確的共享名? (我很擅長批處理腳本)。 – Vairis

+0

好的,所以我發現這個命令是如何工作的,但這裏的一個重要問題是,如何將結果分析到所有cd,move等命令中? – Vairis

+0

以單個反斜槓開始的相對路徑相對於當前驅動器__的__root和__NOT__相對於__current directory__。在命令提示符窗口中用'cd/D'%windir%\ temp「'試試它,然後運行下一個'cd \ Windows'或'cd'\ program files」',你將在Windows目錄樹中的一級目錄或在同一驅動器上的程序文件目錄中。當前目錄或其某個子目錄中的文件或文件夾的相對路徑以文件/文件夾名稱或「。」和「..」引用當前目錄的父目錄。 – Mofi

相關問題