【问题标题】:How to get name of the folder where jpg is in it?如何获取 jpg 所在文件夹的名称?
【发布时间】:2018-05-19 15:39:29
【问题描述】:

我需要一个代码来查找 jpg 文件并获取文件所在目录的名称列表。 我编写了一个代码,可以找到我的代码所在的所有文件夹

For /r %%i in (.) do ( echo %%~nf >>list1.txt
)
For /f "tokens=*" %%i in (list1.txt) do ( echo %%~nxi >>list2.txt
)

它保存了所有子文件夹的列表,但我想获取文件所在文件夹的名称。

【问题讨论】:

  • 我的语言是批处理
  • 从未听说过批处理。您是指 Windows .bat 文件吗?
  • 这是您在 StackOverFlow 上的第 5 个问题,您尚未接受任何问题的答案。如果您不了解 StackOverFlow 的工作原理,请联系tour
  • for /R %%I in (*.jpg) do echo %%~dpI.?或for /R %%I in (.) do if exist "%%~I\*.jpg" echo %%~fI?
  • @Mhwmd 请返回并接受您所有问题的答案。这就是你在 StackOverFlow 上感谢的方式!

标签: windows batch-file


【解决方案1】:

您在进行研究时似乎没有正确理解所阅读的内容。举个例子。

For /r %%i in (.) do ( echo %%~nf >>list1.txt

告诉我你在某处看到过这个%%~nf,但你有没有尝试阅读它的作用?您提供了一个变量%%i,但您尝试使用%%f,并且您想要路径(%%~p)但使用名称(%%~n)。如果你真的从 cmd for /? 运行帮助,你会得到一些很棒的提示。

这个:

For /r %%i in (*.jpg) do echo "%%~dpi" >>list1.txt

会给出文件的驱动器和路径,其中:

For /r %%i in (*.jpg) do echo "%%~pi" >>list1.txt

只给出路径,而这个:

For /r %%i in (*.jpg) do echo "%%~nxi" >>list1.txt

会给出文件的名称和扩展名,最后是这个:

For /r %%i in (*.jgp) do echo "%%~ni" >>list1.txt

只会给出不带扩展名的文件名。

所以我挑战你通过 cmd 为你的命令运行帮助开关,我向你保证,你会惊讶地看到你可以从中学到什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多