2

见鬼,我是批处理文件的新手,我有一个批处理文件,例如:

@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\

注意:我不想通过CD在那个文件夹中获取icon.png的路径,我想要的是当当前文件夹为“To_delete”时检索资源文​​件夹中的文件。

谢谢你。

4

4 回答 4

3
@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
于 2012-08-28T13:40:31.900 回答
1

更改为您可以使用的父目录

cd ..

所以如果你在“To_delete”你的命令需要看起来像这样

cd ..\Resource

进入资源文件夹

于 2012-08-28T13:31:53.600 回答
1

您可以使用 FOR 循环和文件修饰符来解决它~f
还看FOR /?

for %%a in ("%CD%\..\resources") do set resourceDir=%%~fa
echo The icon.png is located at "%resourceDir%"
于 2012-08-28T13:37:45.787 回答
0

您是否尝试过../(或..\适用于 Windows)?例如:echo The icon.png is located at "..\Resource\"

于 2012-08-28T13:20:04.673 回答