Самый легкий путь, поскольку я вижу его, состоит в том, чтобы использовать для цикла, который называет второй пакетный файл для обработки, передавая что второй файл базовое имя.
Согласно для/? справка, базовое имя может быть извлечено с помощью остроты ~n опция. Так, основной сценарий читал бы:
for %%f in (*.in) do call process.cmd %%~nf
Затем в process.cmd, предполагают, что %0 содержит базовое имя и действие соответственно. Например:
echo The file is %0
copy %0.in %0.out
ren %0.out monkeys_are_cool.txt
мог бы быть лучший способ сделать это в одном сценарии, но я всегда был немного туманным о том, как получению по запросу нескольких команд на сингле для цикла в пакетном файле.
РЕДАКТИРОВАНИЕ: это фантастически! Я так или иначе пропустил страницу в документах, которые показали, что Вы могли выполнить в многострочных блоках ДЛЯ цикла. Я собираюсь пойти, должны возвратиться и переписать некоторые пакетные файлы теперь...
Проблема DROP TABLE CASCADE заключается в том, что он просто удаляет внешние ключи из связанных таблиц - после syncdb это отношение не воссоздается. Я не нашел способа воссоздать таблицы конкретной модели, поэтому я перезагружаю все приложение, воссоздав схему:
DROP SCHEMA public CASCADE;
CREATE SCHEMA "public" AUTHORIZATION "owner of database";
Это должно работать только с базой данных, поддерживающей схему, например postgresql
Я использую небольшой трубопровод UNIX, который добавляет каскад на все операторы Drop.
python manage.py sqlreset myapp | sed 's/DROP TABLE \(.*\);/DROP TABLE \1 CASCADE;/g' | \
psql --username myusername mydbname