2012-08-28 123 views
1

地獄一切,我是批處理文件的新手 我有一個批處理文件,如:批處理文件|父目錄

@ECHO OFF 
if not exist To_delete mkdir To_delete 
if not exist resources mkdir resources 
copy "C:\icon.png" "resources" 

cd /d To_delete 
echo The current folder is : "%CD%" 
echo The icon.png is located at "CODE_I_NEED_IS_HERE" 

The result should be: 
The current folder is : C:\Users\Leona\Desktop\To_delete\ 
The icon.png is located at C:\Users\Leona\Desktop\Resource\ 

注意:我不想用光盤在得到的icon.png的路徑文件夾,我想要的是噹噹前文件夾是「To_delete」時檢索資源文​​件夾內的文件。

謝謝。

回答

2
@ECHO OFF 
if not exist To_delete mkdir To_delete 
if not exist resources mkdir resources 
copy "C:\Documents and Settings\mlastg\Desktop\logo.png" "resources" 

cd /d To_delete 
echo The current folder is : "%CD%" 
dir /s/b/A:-D "%CD%\..\resources" 

最後一個命令會給你的資源文件夾中的所有文件的路徑。現在你可以詳細到讓你的答案

C:\Documents and Settings\mlastg\Desktop>batch.bat 
     1 file(s) copied. 
The current folder is : "C:\Documents and Settings\mlastg\Desktop\To_delete" 
C:\Documents and Settings\mlastg\Desktop\resources\logo.png 
+0

dir/s/b/A:-D「%CD%\ .. \ resources」是不是我想要的,但是 %CD%\ .. \資源正是我想要的。 謝謝。 – Leona

0

您是否試過../(或Windows的..\)? 例如:echo The icon.png is located at "..\Resource\"

+0

您應該添加一些背景到您的回答,僅此信息是沒有用的,你會被標記爲答案,較高的機會,如果你包括至少一個樣本。 – Serdalis

1

改變父diretory可以使用

cd .. 

,所以如果你是在「To_delete」你的命令需要像這樣

cd ..\Resource 

進入Resource文件夾

+0

謝謝你的回答,但正如我之前提到的,我不想做一個CD。 – Leona

+0

我只是認爲這會幫助你改變你的代碼,以便你知道如何通過父目錄進入資源;) –

1

你可以用FOR循環和文件修飾符~f來解決它。
也看FOR /?

for %%a in ("%CD%\..\resources") do set resourceDir=%%~fa 
echo The icon.png is located at "%resourceDir%" 
相關問題