Показать полную графическую версию : [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов
Kira.play
04-08-2008, 15:46
echo F | xcopy "C:\game.sav" "prog.exe" /y »
Ого! Спасибо огромное, все работает
Как может быть 5 штук Game.sav с одним и тем же названием? »
С:\213\game.sav
C:\Program Files\game.sav
C:\Gamegame\game.sav
C:\Windows\game.sav
C:\1\game.sav
вот так =)
Как мне взять все файлы game.sav с диска C:\ и соединить их в SaveList.txt........ bat файлом?
Petya V4sechkin
04-08-2008, 16:05
вот так
copy /b С:\213\game.sav + "C:\Program Files\game.sav" + C:\Gamegame\game.sav + C:\Windows\game.sav + C:\1\game.sav SaveList.txt
(если в пути пробел - кавычки).
Kira.play
04-08-2008, 16:16
Спасибо...
А что значет /b и можно ли соединить их незная где точно они находятся?
Допустим я хочу получить все Game.sav с диска C:\
Petya V4sechkin
04-08-2008, 16:58
можно ли соединить их незная где точно они находятся?
Допустим я хочу получить все Game.sav с диска C:\
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set V=
For /F "UseBackQ Delims=" %%I In (`Dir C:\Game.sav /A-D-H-S /B /S 2^>nul`) Do (
If "!V!"=="" (
Set V="%%~I"
) Else (
Set V=!V! + "%%~I"
)
)
If Not "!V!"=="" Copy /B !V! SaveList.txt
Kira.play
04-08-2008, 17:05
omg...
Спасибо огромное за уделенное время =)
Если бы вы еще обьеснили зачем каждая строка %)
если будет свободное время и желаение конечно ;)
А так еще раз спасиб ...
radistOK
04-08-2008, 17:07
Народ помогите плз с написанием вот такого батника: нужно что бы он через определённый промежуток времени просматривал определённую папку и при наличии там файлов котроые созданны более 15-25 минут назад выдавал сообщение на компьютер находящийся в локальной сети командой net send . И мини вопрос что бы батник срабатывал через определённый промежуток времени его нужно запускать шедулером?
P.S. В первом посте задача была поставлена но я ненашёл батник :(
Petya V4sechkin
04-08-2008, 17:12
Если бы вы еще обьеснили зачем каждая строка
Ссылки в шапке темы :)
А также в командной строке:
SetLocal /?
Set /?
For /?
Dir /?
If /?
Copy /?
Kira.play
04-08-2008, 17:38
Мм.. Буду изучать...
Кстате.. вот еще задачка =)
Буду рад если поможешь
Это даже не задачка я дополнение к предидущей...
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion Set V= For /F "UseBackQ Delims=" %%I In (`Dir C:\Game.sav /A-D-H-S /B /S 2^>nul`) Do ( If "!V!"=="" ( Set V="%%~I" ) Else ( Set V=!V! + "%%~I" ) ) If Not "!V!"=="" Copy /B !V! SaveList.txt »
Этот чудесный скрипт записывает текущие состояние файлов...
И перезаписывает то что было раньше
Точнее на диске C:\ распологаются 3 файла Game.sav
в первом
123
во втором
321
в третьем
111
Запускаю... Вуаля GameList.txt с 123321111
Все бы хорошо... но нада так что бы он дополнял файл GameList.txt
т.e. если я удалю файл Game.sav (Что на диске С:\ с содержимым 123)
и добавлю Game.sav (Что на диске C:\ c содержимым GAME)
и запущю батник то он обновит GameList.txt и в нем будет не 321111GAME (как сейчас... т.к. он заного создаст файл ListGame.txt)
а 123321111GAME (Просто дополнит)
Извеняюсь если не понятно.... т.к. я долго писал-формулировал... всеравно получилась какаято каша %)
Очень жду помощи
Petya V4sechkin
04-08-2008, 17:51
Kira.play, в такой формулировке не знаю :)
Kira.play
04-08-2008, 18:03
Ну смотри...
Он записывает файлы в файл
Тем самым создает файл....
Если файл уже был создан.. о него перезаписывает...
А нада что бы он дописывал информацию...
вот хороший пример:
C:\Game.sav (в нутри текст : 123)
запускаем bat -> он создает GameList.txt (в нутри текст: 123)
далее открываем C:\Game.sav (и редактируем в нутри текст: c 123 на 321)
запускаем bat -> он создает GameList.txt (в нутри тест 321)
так сейчас... а он должен создавать GameList.txt (после следующих операций) с текстом внутри : 123 321
Надеюсь на помощь :)
что вы к этим батникам привязались - зашедулить можно сразу команду удаления необходимого файла! »
Как? т.е нужно указать на файл, который хочешь удалить? и там же в строке дописать at 6:00 /next:1 del d:\Document.doc
http://img227.imageshack.us/img227/4630/documentwp8.jpg
7human7, команда самоудаления:
Код:
DEL /F/Q "%0" »
это куда?
Kira.play
04-08-2008, 19:31
Как сделать так что бы при копирование если такой файл уже существует то приписать к нему циферку 1...
если и с циферкой 1 существует то циферку 2 =)
Ну что бы не заменялись если одинаковые есть при копировании...
Жду помощи =)
Зарание спасибо
7human7, как можно помочь написать bat-файл, если вы даже не представляете себе из чего он потенциально состоит?!
Kira.play
Если файл уже был создан.. о него перезаписывает...
А нада что бы он дописывал информацию... »вариант:For /F "Delims=" %%I In ('Dir C:\Game.sav /A-D-H-S /B /S 2^>nul') Do Type "%%I" >>SaveList.txt
если и с циферкой 1 существует то циферку 2 »обязательно цифру?... а если само имя заканчивается на цифру?.. ;)
тогда придется вводить какой-нить спецсимвол чтобы определить переименован файл или нет...
Проще каждый раз дописывать один и тот же символ, правда имя может стать о-очень длинным. :)
7human7
это куда?»в конец батника
вариант »
извиняюсь, забыл что речь о бинарных а не текстовых файлах, поэтому скорее так:@Echo Off
Set $ROOT=C:\Game.sav
Set $FILE=SaveList.txt
For /F "UseBackQ Delims=" %%I In (`Dir "%$ROOT%" /A-D-H-S /B /S 2^>nul`) Do (
If Exist %$FILE% (
Copy /B "%$FILE%"+"%%I" "%$FILE%"
) ELSE (
Copy /B "%%I" "%$FILE%"
)
)
Kira.play
05-08-2008, 14:09
Cпасибо огромное...
Но вот если не сложно...
Можете обьеснить как соединить это
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set V=
For /F "UseBackQ Delims=" %%I In (`Dir C:\Game.sav /A-D-H-S /B /S 2^>nul`) Do (
If "!V!"=="" (
Set V="%%~I"
) Else (
Set V=!V! + "%%~I"
)
)
If Not "!V!"=="" Copy /B !V! SaveList.txt
и вот это:
For /F "Delims=" %%I In ('Dir C:\Game.sav /A-D-H-S /B /S 2^>nul') Do Type "%%I" >>SaveList.txt
а про циферки...
Я иммел ввиду что если такой файл существует то как можно сделать так что бы он его не перезаписывал?
Что бы он какнибудь... редактировал его название??? Но что бы и имя файла длинным не делал % )
Вот я и предложил ставить в конце 1 (если есть 1 то 2... если есть 2 то3... если есть 3 то 4 если есть 4 то 5 и т.п.)
заранее спасибо :)
Здравствуйте. Помогите пожалуйста написать в бате следующее: мне нужно, чтобы бат заменял "определённую" строку текстового файла на строку из другого файла. Заранее благодарен.
Kira.play
как соединить это »смотри пост #276
про циферки »вариант:@Echo Off
Set $FILE=C:\Documents and Settings\Default User\ntuser.dat
Set $PATH=C:\Documents and Settings\Default User
Call :FileGetNewName "%$FILE%" "%$PATH%"
@Echo %FileGetNewName%
Exit
:FileGetNewName
:: ---
:: %1 - полное имя исходного файла, включая путь
:: %2 - путь к целевому каталогу
:: ---
Set $I=
Set FileGetNewName=
If Not Exist "%~1" GoTo :EOF
For %%i In ("%~1") Do Set $N=%%~ni
For %%i In ("%~1") Do Set $X=%%~xi
:FileGetNewName_LOOP
Set FileGetNewName=%~2\%$N%%$I%%$X%
If Not Exist "%FileGetNewName%" GoTo :EOF
Set /A $I +=1
GoTo FileGetNewName_LOOP
SerDIDG
чтобы бат заменял "определённую" строку текстового файла »что значит "определенную"?
Определённую - например мне нужно в файле 111.txt (111.cfg) заменить строку 268 на стройку 1 из файла 222.txt. Если такое невозможно, порекомендуйте какой нибудь консольный редактор текста на который можно написать скрипт.
radistOK
07-08-2008, 11:24
Народ, есть вот такой скрипт проверяющий наличие определённого файла в папке. Как сделать так что бы оно проверяло наличие не определённого файла , а любого находящегося в папке? пробовал задавать маску типа 12*.* но что то несрабатывал скрипт. Подскажите пжста как быть
P.S. Сорри, попмему не в тот раздел :( Ну всёравно если кто сможет помогите
'******************************************************************
' Имя: ExistsFile.vbs
' Язык: VBScript
' Описание: Проверка существования файла
'*******************************************************************
Dim FSO,FileName 'Объявляем переменные
'Создаем объект FileSystemObject
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
FileName = "c:\boot.ini"
if FSO.FileExists(FileName) Then
'Выводим информацию на экран
WScript.Echo "Появился нулевой файл " & FileName & " "
else
'Выводим информацию на экран
'WScript.Echo "Файл " & FileName & " не существует"
end if
'************* Конец *********************************************
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.