Цикл Foreach в командной строке Windows?

У меня есть командная строка, которая копирует файлы из папки A в папку B:

copy A\* B\

Теперь я хотел бы удалить все файлы в B, которые присутствуют в A, безрекурсивно. Я могу перечислить файлы в A следующим образом:

dir /b /a-d A

С выводом:

f0.txt
f1.txt
f2.txt

Вот псевдокод того, что я хотел бы сделать:

foreach $1 in <dir /b /a-d A output>:
  del B\$1

Есть ли синтаксис командной строки Windows, который будет выполнять команду, используя вывод другой команды в качестве ввода? Я знаю об операторе конвейера (|), но не знаю, как его можно использовать для выполнения этой задачи. Любая помощь будет оценена.

Ограничение: в Windows 7 по умолчанию доступны только команды.

12
задан Adam S 28 January 2012 в 17:51
поделиться