2013-10-24 82 views
0

我試圖使用XCOPY對我的兩個機器(64位Windows 7的內容複製目錄XCOPY不接受爲某些計算機上

xcopy /e /q ".\dlls\*.*" "%programfiles(x86)%\foo" >> TEMP 
xcopy /e /q dlls "%programfiles(x86)%\foo" >> TEMP 
xcopy /e /q ".\dlls" "%programfiles(x86)%\foo" >> TEMP 

上述所有工作的源參數的相對路徑)。 但在兩個對等的筆記本電腦(Windows 7的64位和Windows 8 64位),他們返回

file dlls not found 

或(在第一個的情況下)

file *.* not found 

有人能提供一些線索嗎?我可以看到機器之間唯一的區別可能是權限。但我不明白這會如何影響xcopy識別本地路徑的能力。

+0

'dir dlls/b'的輸出是什麼? – nephi12

+0

@ nephil12那告訴我問題是什麼。由於某些原因,批處理腳本從dll文件夾開始,即使它是從父項運行的。從運行dir的批處理文件的第一行輸出dll的內容。 – slicedtoad

+0

我會試着弄清楚如何阻止它。 – slicedtoad

回答

0

add cd ..或者cd C:\ full \ path \ to \ parent \ of \ dlls或者將所有提到的dll替換爲。

;) 
+0

但這隻會使它在當前打破的計算機上工作。它適用於某些計算機,並且您的更改會在那裏打破它,不是嗎? 我很想知道爲什麼批處理文件不能保存它的運行位置,因爲它是密碼。 – slicedtoad

+0

第二個選項應該適用於所有的計算機......通過編輯或將其放在pastebin.com或github或其他一些這樣的可替代的工具上發佈您的代碼,我會看一看。 – nephi12

+0

我不能使用絕對路徑,因爲位置不會是常量。 我的代碼可以縮小到單個xcopy行並仍然重現問題 – slicedtoad

相關問題