![]() |
вставить в файл, его имя
Парни, Хэлп!)
Задача такая, есть папка, в ней список файлов, в каждом файле есть ' #####! ' (например), нужно батник, который запускался бы в этой папке, проходился по всем файлам что в ней находятся, и заменял ' #####! ' на ' имя файла' ПыСы: только без расширения, т.е. если файл Вася.txt, чтоб вставлялось Вася. ломаю голову уже несколько дней, ну не въеду никак) |
Батник не слишком хорош для обработки текста. Два варианта:
Код:
@echo off Код:
foreach ($f in (get-item *.txt)) { (get-content $f) -replace '####!',$f.basename | set-content $f } |
Foreigner, спасибо, но не выходит что-то
в первом варианте, он заменяет все содержимое html странички, оставив только </html>, и создает несколько ИМЯ.tmp файлов пустых, во втором варианте отработав странички стали пустыми. P.S. везде поменял (*.txt) на (*.html) так как именно в html страничках мне нужно наз-ие файла. В Шелл выдает : Код:
Не удается загрузить файл D:\list\new\jpg.ps1, так как выполнение скриптов запрещено для данной системы. Введите "get-h |
talmachka, Для повершелл один раз выполните от администратора:
Код:
set-executionpolicy remotesigned Цитата:
|
Foreigner, спасибо Вам, а можно попросить Вас доработать первый вариант, так как с шелом и sed не особо знакома.
Sed установила, но также пустые файлы после запуска батника( Файл 129649 прикрепила архив, здесь сами файлы и батник ver1 Через шелл тоже не получается, изменила политику безопасности по Вашей рекомендации, но в файлах ничего не поменялось после запуска команды. Код:
PS C:\Users\User> D:\list\new\jpg.ps1 |
talmachka, Скиньте архив куда-нибудь на обменник. Здесь его взять не получается. И напишите, что надо заменить на название файла.
|
Foreigner, скачать. В каждой html-ке, есть ' ####!.jpg ' нужно чтоб батник смог заменить ' ####!.jpg ' ---- ' имя_файла.jpg ' , только очень важно чтоб он это делал в каждом файле, который нах-ся в папке, так как таких файлов будет много. Большое Спасибо.
|
talmachka, Попробовал.. Все работает. Батник (с помощью sed):
Код:
@echo off Код:
foreach ($file in (get-item *.html)) { Код:
pushd 'C:\users\talmachka\desktop\new' |
Foreigner, Спасибо, через shell отработало! Подскажите плиз, батник просто запускаю? или как-то особенно нужно, просто также стер он все в html файлах и все:( sed установил отсюда http://sourceforge.net/projects/gnuw...se_mirror=kent нужно ли перезагружать комп?
|
talmachka, Вам надо проверить попала ли папка, где sed.exe в переменную %PATH%. Для этого в cmd просто выполните:
Код:
sed Код:
"sed" не является внутренней или внешней |
Foreigner, Спасибо Вам большое, Вы мне очень помогли.
|
Время: 07:52. |
Время: 07:52.
© OSzone.net 2001-