0

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

  • 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)最优雅的方法是什么?

4

1 回答 1

1

您能否指定如何区分“somefile.vi”,它不包含任何数字,或者您知道它的个人名称吗?

如果是后者,我相信如果从 C:\foo 文件夹运行,这应该可以工作

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

注意不是 "@@\bar..." 你会得到 "\foo\bar..." 如果有多个文件你想排除简单的嵌套更多 if 命令:

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

等等....我已经在我的电脑上试过了,效果很好。

你的,莫娜

于 2013-06-08T11:38:30.833 回答