Два решения: PowerShell и Python
Ваш код не работает, поскольку вы должны использовать Windows эквивалентную команду для Unix find
.
Однако, учитывая, что вы работаете с Python, код Python может быть универсальным решением.
Проблема
Используя восклицательный знак !
, вы вызываете оболочку своих систем.
Таким образом, выполняемая команда зависит от системы.
Пример
# Change the name of file1 to file2 in Unix-like systems
# But it doesn't work on Windows
!mv file1 file2
# The Windows equivalent
!ren file1 file2
У вас есть похожая проблема. Find
существует как в Unix -подобном, так и в Windows; однако назначение обеих команд различно.
В Windows, find
команда представляет собой фильтр для поиска строк во входном потоке данных, которые содержат или не содержат указанную строку ( то есть, это как grep
команда Unix).
Решение: с Windows PowerShell
После прочтения этой нити я предлагаю следующее решение с использованием Windows PowerShell.
!Get-ChildItem -Filter "*.csv" -Recurse "C:/directory/withdata" > paths.txt
Решение: с Python
Скоро ...:)