批处理:输出文件名,包含文件和附加符号的相对路径

时间:2013-06-07 14:09:52

标签: file batch-file path relative names

我有一个像这样的文件夹结构:

  • C:/foo/bar1/a002345.vi
  • C:/foo/bar1/somefilename.vi
  • C:/foo/bar2/b005632.vi
  • ...
  • C:/foo/bar26/z002345.vi

现在我想在文件夹c:/ foo /中执行一个批处理文件,它将以下输出写入.txt文件:

@@/bar1/a002345.vi
@@/bar2/b005632.vi
@@/bar26/z002345.vi

(没有somefile.vi)最优雅的方法是什么?

1 个答案:

答案 0 :(得分:1)

您能否详细说明如何区分“somefile.vi”,不包含任何数字,或者您知道其个人名称吗?

如果是后者,我相信如果从C:\ foo文件夹

运行,这应该可行
for /r %%a in (*) do (if %%~na NEQ somefile echo %%~pa%%~na%%~xa >> output.txt)

注意代替“@@ \ bar ...”,你会得到“\ foo \ bar ...” 如果有多个文件,您希望在命令中排除简单嵌套:

for /r %%a in (*) do (if %%~na NEQ somefile1 if %%~na NEQ somefile2 if %%~na NEQ somefile3 echo %%~pa%%~na%%~xa >> output.txt)

依旧...... 我在我的电脑上试过这个并且工作正常。

你的,莫娜