У меня есть простой пакетный сценарий, который рекурсивно просматривает все файлы и папки в каталоге и записывает список файлов в текстовый файл. Сейчас это выглядит так:
dir /b/s > files.txt
В /b
означает не давать дополнительной информации и /s
делает его рекурсивным внутри подпапок. Пример вывода:
C:\Users\mark\Desktop\site\site\Web
C:\Users\mark\Desktop\site\site\Web\Themes
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images\site
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images\site\beta.gif
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style\site.css
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style\ie7.css
Мне бы хотелось двух вещей:
Например. У меня есть сценарий в C:\Users\mark\Desktop\site\site\
папку, поэтому я не хочу видеть до этого момента.
Возможно ли сделать эти две вещи, и если да, может ли кто-нибудь помочь с ними?
Вы можете взять unxutils Suite, поместите find.exe в свой начальный каталог, затем запустите его примерно так:
./find.exe . -type f > result.txt
Просто мой 2цт.
dir /b /s /a-d
доставит вам только файлы. Я думаю, что для относительных путей вам понадобится больше работы, чем просто простой командный файл, например вызовите некоторый vbscript, чтобы (1) получить текущий каталог, (2) открыть текстовый файл, (3) выполнить поиск и заменить текстовый файл и (4) сохранить результат обратно.