Показать полную графическую версию : [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов
Lihonosov
10-10-2007, 17:32
А батник-то зачем? Это нужно делать регулярно, по расписанию?
Может быть, Renamer подойдёт? »
WSH не катит? »
Что такое WSH не знаю.
Объясняю зачем. Может это глупо, но ничего другого пока-что в голову не лезет.
Использую виндошную службу факсов для отправки и получения факсов.
Она факсам, которые получает дает им имена: 4dcf374a00.tif..., т.е. не читабельны и ищи который пришел последний. Бат файл хочу чтобы запускался каждый раз когда пользователь заходит в папку (пропишу авторан) и переименовывал все файлы.
Понимаю что решение неправильное с точки зрения если будет много файлов,то переименовование всех может занять много времени.
Подскажите если знаете решение моей ситуации.
Заранее благодарен.
запостил в ту тему, но хрен теперь ее найдешь... поэтому дублирую...
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.
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)
Как пишется cmd/
Задача Нужно чтоб выводилось окно с реальным IP
Как я понимаю команда IPconfig
Rock, если я правильно понял вопрос - так:
cmd /k ipconfig /all
ShaddyR, Благодарю! Всё получилось :oszone: :yahoo:
А где можно почитать на будущее сам принцип написания?
А где можно почитать на будущее сам принцип написания? »
да в обсчем-то, все просто:
1) подсистема помощи Windows
2) очень полезная опция есть у консольных программ и комманд ДОСа - "/?", "/h", "/help" - вывод описания и параметров команды
3) "Для получения сведений об определенной команде наберите HELP <имя команды>"
4) интернет - содержит ВСЕ сведения обо всем.. только надо знать, как спросить ;)
DJ Mogarych
27-11-2007, 12:42
ищи который пришел последний. »
Отсортируйте по времени создания, и все дела.
Вопрос может не по теме. Есть bat(cmd)-файл, в котором через команду copy (или xcopy) копируются большие файлы по сети с одного сервера на другой. Но почему-то это происходит раз в 10 медленнее, чем если бы эти же файлы копировать вручную. Можно ли как-то ускорить этот процесс? Или есть какие-нибудь другие команды для копирования по сети?
DJ Mogarych
28-11-2007, 15:13
Код командного файла — в студию!
Вот код...
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
Собственно здесь всего одна строка отвечает за копирование:
xcopy %1\cache.dat %2\*.* /z /y
Остальное - это остановка сервера БД CACHE, иначе не даст скопировать. Т.к. не известно сколько он будет останавливаться, то проверяется наличие файла журнала, который должен исчезнуть после остановки сервера.
:) Всем привет!
Сорри, пока чуток занят очень даже в инет выйти не могу, времени нет, но Огромное Всем Спасибо за реальные интересные идеи. Пока мне предложили такой вариант:
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) запускал нужную программу.
Заранее спасибо!
Помогите!!! Есть ли возможность запустить на windows 98 пакетный файл CMD??? КАК???
Aeronaft
1. А ping /? пробовали?
2. А что вы понимаете под "после загрузки ОС"? Просто киньте файл в автозагрузку.
Ltybc_, переименуйте расширение в bat
Vadikan
не все так просто!
В CMD я понимаю есть команды, которые сомманд.ком под win89 не понимает. Переименование не помогло! Затыкаеться на "Не найдена команда или имя файла". Придеться CMD в bat переписывать Либо ОСь менять. Вопрос стоял в том есть ли какие-то методы (из под ОС, утилиты)запустить именно СМD под win89.
И вообще если брать в целом то похоже что не возможно, как во всей философии windows. :(
Ltybc_, вы бы код файла своего привели, и можно было бы разговаривать конкретно, а не обсуждать философию Windows.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.