Показать полную графическую версию : Найти txt файл по имени и заменить содержание файла на мой текст!
Fresenius
16-11-2012, 23:49
Где то на компе есть файл file.txt (я не знаю где он,я знаю только название файла) .Мне нужно через бат найти по имени и заменить все данные на мои.
Пробовал так:
forfiles/p C: /c "cmd /c echo "1" > file.txt"
Но толку ноль.
Пробовал и через команду FIND ,тоже не пашет.
Прошу у Вас помощи.
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f "delims=*" %%B in ('dir /s /b /a-d "%%a:\file.txt"') do echo "1" > "%%~dpBfile.txt"
)
exit
Fresenius
17-11-2012, 19:59
Спасибо big! И еще подскажите,как сделать в этой же команде замена текста на несколько строк(чтобы не создавать такую же команду для последующих строк)
1 stroka
2 stroka
3 stroka
4 stroka
5 stroka
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f "delims=*" %%B in ('dir /s /b /a-d "%%a:\file.txt"') do set f=%%~dpBfile.txt
)
echo "1 stroka" > "%f%"
echo "2 stroka" >> "%f%"
echo "3 stroka" >> "%f%"
echo "4 stroka" >> "%f%"
echo "5 stroka" >> "%f%"
exit
Fresenius
18-11-2012, 13:18
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f "delims=*" %%B in ('dir /s /b /a-d "%%a:\file.txt"') do set f=%%~dpBfile.txt
)
echo "1 stroka" > "%f%"
echo "2 stroka" >> "%f%"
echo "3 stroka" >> "%f%"
echo "4 stroka" >> "%f%"
echo "5 stroka" >> "%f%"
exit
Всё работает ,только одна проблема,если 2 файла то скрипт меняет только 1 файл,а мне нужно чтобы меняло все файлы которые с именем file.txt(которые найдёт скрипт).Большое спасибо Вам за помощь.
нужно чтобы меняло все файлы которые с именем file.txt(которые найдёт скрипт). »
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
If Exist %%a:\* (
for /f "delims=*" %%B in ('dir /s /b /a-d "%%a:\file.txt" 2^>Nul') do (
(echo "1 stroka"
echo "2 stroka"
echo "3 stroka"
echo "4 stroka"
echo "5 stroka")>"%%B"
)
)
)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.