Войти

Показать полную графическую версию : [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов


Страниц : 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Sham
10-10-2007, 15:25
WSH не катит?

Lihonosov
10-10-2007, 17:32
А батник-то зачем? Это нужно делать регулярно, по расписанию?
Может быть, Renamer подойдёт? »

WSH не катит? »
Что такое WSH не знаю.

Объясняю зачем. Может это глупо, но ничего другого пока-что в голову не лезет.
Использую виндошную службу факсов для отправки и получения факсов.
Она факсам, которые получает дает им имена: 4dcf374a00.tif..., т.е. не читабельны и ищи который пришел последний. Бат файл хочу чтобы запускался каждый раз когда пользователь заходит в папку (пропишу авторан) и переименовывал все файлы.
Понимаю что решение неправильное с точки зрения если будет много файлов,то переименовование всех может занять много времени.

Подскажите если знаете решение моей ситуации.
Заранее благодарен.

Sham
10-10-2007, 21:22
запостил в ту тему, но хрен теперь ее найдешь... поэтому дублирую...
Lihonosov,
Вот например:
// путь к папке (слеши дублируются)
var path = "C:\\PATH\\TO\\FOLDER\\";

var fso, f, fc, new_name, file, DateObj, str;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(path);
fc = new Enumerator(f.files);
for (; !fc.atEnd(); fc.moveNext())
{
if (/\.tif$/i.test(fc.item()))
{
file=fso.GetFile(fc.item());
DateObj = new Date(file.DateCreated);
str = DateObj.toUTCString().replace(/[\,\.\\\:\s\'\"\/\(\)]+/gi,"-");
new_name = str+"-"+file.size+".tif";
if (!fso.FileExists(path+new_name)) // уже есть такой
{
file.Name=new_name;
}
}
}

сохраняешь как name.js и запускаешь либо из ком.строки wscript name.js либо просто щелкнув файлик в винде (или через меню)...

nosferaty
07-11-2007, 13:41
А не подскажет ли кто как в батнике (cmd файле) сформировать текущую дату в виде гггг.мм.дд без участия пользователя?

нашел материальчик
http://www.osp.ru/pcworld/2006/07/2665464/_p1.html
но не работает :(

ругается
Непредвиденное появление: /f"tokens=2-4 delims=./-"%f.

amel27
08-11-2007, 04:53
nosferaty
не хватает пробелов, и с "tokens" там чего-то не то... должно быть примерно так:@echo off
for /f "tokens=1-3 delims=./-" %%f in ("%date%") do (
set today_=%%h.%%g.%%f
)

echo %today_%этот вариант зависит от настроек локализации в профиле, для универсального смотри ветку:
[решено] Как сделать,что б батник проверял число ? (http://forum.oszone.net/thread-71179.html)

Rock
26-11-2007, 21:28
Как пишется cmd/
Задача Нужно чтоб выводилось окно с реальным IP
Как я понимаю команда IPconfig

ShaddyR
26-11-2007, 21:39
Rock, если я правильно понял вопрос - так:
cmd /k ipconfig /all

Rock
27-11-2007, 06:02
ShaddyR, Благодарю! Всё получилось :oszone: :yahoo:
А где можно почитать на будущее сам принцип написания?

ShaddyR
27-11-2007, 10:45
А где можно почитать на будущее сам принцип написания? »
да в обсчем-то, все просто:
1) подсистема помощи Windows
2) очень полезная опция есть у консольных программ и комманд ДОСа - "/?", "/h", "/help" - вывод описания и параметров команды
3) "Для получения сведений об определенной команде наберите HELP <имя команды>"
4) интернет - содержит ВСЕ сведения обо всем.. только надо знать, как спросить ;)

DJ Mogarych
27-11-2007, 12:42
ищи который пришел последний. »
Отсортируйте по времени создания, и все дела.

Evgel
28-11-2007, 12:07
Вопрос может не по теме. Есть bat(cmd)-файл, в котором через команду copy (или xcopy) копируются большие файлы по сети с одного сервера на другой. Но почему-то это происходит раз в 10 медленнее, чем если бы эти же файлы копировать вручную. Можно ли как-то ускорить этот процесс? Или есть какие-нибудь другие команды для копирования по сети?

DJ Mogarych
28-11-2007, 15:13
Код командного файла — в студию!

Evgel
28-11-2007, 16:02
Вот код...

rem %1 путь к базе данных на основном сервере
rem %2 путь к базе данных на запасном сервере
rem %3 путь к исполняемым файлам cache на основном сервере

if not exist %1\cache.lck goto 1
%3\css.exe stop CACHE
:2
if exist %1\cache.lck goto 2
:1
cd %2
:3
if exist %2\cache.lck goto 3
if exist %2\cache1.dat del %2\cache1.dat
ren %2\cache.dat cache1.dat
xcopy %1\cache.dat %2\*.* /z /y
cd %1
%3\css.exe start CACHE

Evgel
28-11-2007, 16:31
Собственно здесь всего одна строка отвечает за копирование:
xcopy %1\cache.dat %2\*.* /z /y
Остальное - это остановка сервера БД CACHE, иначе не даст скопировать. Т.к. не известно сколько он будет останавливаться, то проверяется наличие файла журнала, который должен исчезнуть после остановки сервера.

skatet
28-11-2007, 16:32
:) Всем привет!
Сорри, пока чуток занят очень даже в инет выйти не могу, времени нет, но Огромное Всем Спасибо за реальные интересные идеи. Пока мне предложили такой вариант:
Set WshShell = WScript.CreateObject("WScript.Shell")

If WshShell.Popup("Text1",0,"Title1",vbOkCancel)=vbOk Then WshShell.Run "notepad.exe",1,vbTrue
If WshShell.Popup("Text2",0,"Title2",vbOkCancel)=vbOk Then WshShell.Run """C:\Program Files\FoxMail\Foxmail.exe""",1,vbTrue
If WshShell.Popup("Text1",0,"Title1",vbOkCancel)=vbOk Then WshShell.Run "notepad.exe",1,vbTrue
If WshShell.Popup("Text1",0,"Title1",vbOkCancel)=vbOk Then WshShell.Run "mspaint.exe",1,vbTrue

к примеру

Aeronaft
17-12-2007, 11:54
Подскажите пожалуйста:
1. Мне нужно создать бат файл, которая выпонял бы пинг на айпишник.
2. Создать бат файл, который после загрузки ОС через некоторое время (примерно секунд 5- 10) запускал нужную программу.

Заранее спасибо!

Ltybc_
19-12-2007, 18:36
Помогите!!! Есть ли возможность запустить на windows 98 пакетный файл CMD??? КАК???

Vadikan
19-12-2007, 19:12
Aeronaft
1. А ping /? пробовали?
2. А что вы понимаете под "после загрузки ОС"? Просто киньте файл в автозагрузку.

Ltybc_, переименуйте расширение в bat

Ltybc_
19-12-2007, 20:46
Vadikan
не все так просто!
В CMD я понимаю есть команды, которые сомманд.ком под win89 не понимает. Переименование не помогло! Затыкаеться на "Не найдена команда или имя файла". Придеться CMD в bat переписывать Либо ОСь менять. Вопрос стоял в том есть ли какие-то методы (из под ОС, утилиты)запустить именно СМD под win89.
И вообще если брать в целом то похоже что не возможно, как во всей философии windows. :(

Vadikan
19-12-2007, 21:57
Ltybc_, вы бы код файла своего привели, и можно было бы разговаривать конкретно, а не обсуждать философию Windows.




© OSzone.net 2001-2012