Удаление файлов, перечисленных в файле csv

#batch-file #delete-file

#пакетный файл #удалить-file

Вопрос:

У нас есть сотни тысяч проиндексированных файлов в папках, которые разбиты по дням. У нас есть список имен файлов в файле csv, который нам нужно удалить. Какой скрипт я могу использовать для поиска этих файлов и их удаления? Если бы forfiles работал, как бы выглядел скрипт? Мы используем Windows Server.

Комментарии:

1. Больше шансов, что кто-нибудь скажет вам, как должен выглядеть скрипт, если вы сообщите нам, как выглядит файл CSV.

2. Файл мог быть переформатирован. Это список имен файлов, которые можно поместить в CSV или текстовый файл — в любом наиболее удобном формате. Спасибо!

Ответ №1:

Если ваш CSV-файл не содержит значений в кавычках, for вы должны быть в состоянии справиться с этим. Например. если имена файлов находятся во втором столбце файла:

 for /f "tokens=2 delims=," %%f in (foo.csv) do del "%%f"
  

Однако было бы полезно, если бы мы знали, как выглядит ваш файл.

Комментарии:

1. Это отличный однострочный пакетный скрипт!

Ответ №2:

Вам было бы намного лучше использовать powershell, если он доступен, поскольку в нем есть возможность открывать CSV-файлы «из коробки».

Лучше всего использоватьimport-csv, и вам не нужна консоль powershell — вы можете интегрировать powershell в существующий пакетный скрипт, просто вызвав powershell.exe из командной строки и вызов командлетов и скриптов оттуда.