Jump to content

От bat към ехе с надписи. Как ?


Препоръчан пост

Имам един bat файл. Има ли възможност да го направя ехе и като се стартира освен да свърши своята работа да покаже и някакъв надпис ? Ако може - обяснете как ... ако обичате ... :blush:

 

Подробности: искам от време на време да прехвърлям файлове с определено разширение от една директория в друга. Най - простото, което ми дойде на ум беше да направя един bat файл. Той се работи без проблеми. Но искам да го направя ехе / в краен случай да си остане bat / но като се стартира да изписва примерно ПРЕХВЪРЛЯНЕ НА ФАЙЛОВЕ . Това ми е идеята. Ще бъда благодарен за помощ.

Link to comment
Сподели другаде

Предлагам ти един... "бабешки" вариант:

1. Създаваш си текстов документ, който да съдържа съобщението (примерно с Notepad);

2. Съхраняваш го например в C:\ като message.txt (в диалога за съхранение в полето Encoding задаваш Unicode);

3. В .bat файла преди командата за копиране поставяш команда start notepad C:\message.txt.

 

Кажи дали те устройва. :)

Link to comment
Сподели другаде

За конвертиране на BAT в EXE можеш да ползваш BAT2EXE (6.2KB). Не че няма и други приложениица, де, ама това е най-базовото и е безплатно. Има и други, които ти позволяват да си вкараш иконка и т.н., но искат парички.

Това само го слагаш някъде и ползваш командата

bat2exe <name of batch file>

Друг е въпросът защо ти е да се конвертира BAT към EXE. Може би, за да не отвори за редакция?

 

Сега на въпроса на местенето. Можеш да използваш VBS скрипт. Създаването е както при BAT - File -> Save as... и добавяш разширение .vbs.

Скалъпих скриптче, което ще те пита какво разширение да мести, ти го пишеш, кликаш OK, то си мести всички файлове с това разширение от предварително указана папка в друга предварително указана и извежда съобщение, след като приключи. Ето и кода:

ext = InputBox("Въведете разширение за изместване") 
set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "ПЪТ1\*."&ext , "ПЪТ2"
MsgBox("Преместването е завършено")

Заменяш ПЪТ1 и ПЪТ2 съответно с папката, в която са файловете, и папката, където трябва да се преместят.

Ето пример за скрипт, който ще измести всички файлове от папка D:\Source в папка E:\Destination

ext = InputBox("Въведете разширение за изместване") 
set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "D:\Source\*."&ext , "E:\Destination"
MsgBox("Преместването е завършено")

Това при положение, че местиш различни разширения от една и съща папка в друга една и съща.

 

Ето пример за скрипт, който ще те пита къде да премести указаното от теб разширение:

ext = InputBox("Въведете разширение за изместване") 
dest = InputBox("Къде да бъдат преместени файловете?") 
set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "ПЪТ1\*."&ext , dest
MsgBox("Преместването е завършено")

ПЪТ1 си го заменяш с папката, от която искаш да се изместят файловете.

 

А ето този скрипт пита файловете с какво разширение, от коя папка да ги премести и в коя да ги постави:

ext = InputBox("Въведете разширение за изместване") 
src = InputBox("От коя папка да бъдат преместени файловете?")
dest = InputBox("Къде да бъдат преместени файловете?") 
set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile src&"\*."&ext , dest
MsgBox("Преместването е завършено")

 

Можеш да си ги комбинираш. :)

 

Забележки:

1) важна: на последния скрипт е важно пътят, от който ще се местят файловете, да бъде въведен БЕЗ крайна наклонена черта "\", защото тя се добавя от самия скрипт. Разбира се може и да е обратното - да не се добавя, а да трябва да се въведе от потребителя, но мисля, че без нея е по-добре.

2) поредността на първите редове с InputBox-овете можеш да си я променяш както ти е удобно, за да ти се появяват прозорците в различна поредност;

3) текстът на кирилица, който съм ползвал също може да бъде заменен с каквото ти е удобно.

Link to comment
Сподели другаде

Огромно БЛАГОДАРСКО на отзовалите се :yes:

Night_Raven, това което правиш ти за мен е много сложно. Затова ще ползвам готовите ти стриптове. За което много ти благодаря.

Искам да попитам и друго: възможно ли е да се направи подобен скрипт, където чрез бутон ТЪРСИ да се позиционера върху директорията, от където ще се местят файловете, да се определя разширението за копиране и пак чрез бутон ТЪРСИ да се указва изходящата директория ?

Съзнавам, че става сложно и е като вид екстра, но ... реших да попитам. Иначе скриптовете, които си изработил ще бъдат пробвани в най-скоро време.

 

Отново ви благодаря.

 

EDIT : Грешката е моя, че става въпрос не за преместване, а за копиране, ама като замених MoveFile с CopyFile и работата се получи. А тези скриптове на какъв език са писани ?

Редактиран от vesodimov
Link to comment
Сподели другаде

Искам да попитам и друго: възможно ли е да се направи подобен скрипт, където чрез бутон ТЪРСИ да се позиционера върху директорията, от където ще се местят файловете, да се определя разширението за копиране и пак чрез бутон ТЪРСИ да се указва изходящата директория ?

Това вече не мисля, че ще стане толкова лесно.

 

EDIT : Грешката е моя, че става въпрос не за преместване, а за копиране, ама като замених MoveFile с CopyFile и работата се получи.

Разсеян Гарван! Щях да го спомена, но забравих.

 

А тези скриптове на какъв език са писани ?

VBScript - подобие на Basic. Windows си изпълнява командите директно. Реално е като някаква алтернатива на BAT файловете.

Link to comment
Сподели другаде

Много ме заинтригува - да знаеш !

Но навсякъде в нета намирам VBScript за интернет страници. Никъде не успявам да намеря базовите команди като тези, които ти си писал + още други. А бих искал, защото преди доооста години бях много добър на Basic. То бяха програми ... то бяха чудесии ... еееех ...

Ако намериш нещо нали ще ми звъннеш ? :giggle:

 

Иначе - благодаря за помощта до сега :OK:

Link to comment
Сподели другаде

На страницата на Microsoft Download Centre намерих някои неща, които може да ти свършат работа. С Google също може да се намери информация по въпроса, аз търсих с vbs sample scripts.
Link to comment
Сподели другаде

Ако съм разбрал правилно въпроса, прехвърляне на файлове от всякъкъв вид и практически с неограничен обем

през различни директорий вкл. и в локална мрежа става лесно и бързо с SP-Download/http://www.gcmsite.ru/

 

VY 73.

Link to comment
Сподели другаде

Ако съм разбрал правилно въпроса, прехвърляне на файлове от всякъкъв вид и практически с неограничен обем

през различни директорий вкл. и в локална мрежа става лесно и бързо с SP-Download/http://www.gcmsite.ru/

 

VY 73.

 

Мисля, че грешиш. Идеята е да се направи скрипт, който по зададен критерий / в случая разширението на файловете / да копира тези файлове от една директория в друга. И толкова. Гарванът се е справил чудесно със задачата. Дадох му и домашно, ама май ще се окаже сложно. То аз като се замисля това , което ми се ще да излезе като краен вариант ще бъде направо като програма. Няма лошо. Най - отдоло ще пишем Made in Night_Raven :giggle:

Link to comment
Сподели другаде

Какви са тия сложнотии? Вземете се запознайте малко. Аз съм ги позабравил.

 

bat си има команда echo и всичко след нея се извежда. Освен това си има променливи от %0 до %9, които се възприемат от командния ред, например могат да се употребят за входни параметри. Ето ти едно, което съм го писал преди 15 години за нещо. Разгледай го и ще видиш доста неща.

 

@echo off

if q$%1 == q$ goto noparm

set nform=orcadpcb

set dest=netlist

if not q$%3 == q$ set dest=%3

set sourse=%1.sch

if q$%2 == q$ goto noform

set nform=%2

 

:noform

if not exist sheet\%1.flt goto check

set sourse=sheet\%1.flt /f

goto check2

 

:check

if not exist sheet\%1.sch goto notfound

 

:check2

if q$%2 == q$redac set nform=racalredac

if %nform% == racalredac goto redac

 

cleanup %sourse%

cls

netlist %sourse% %dest%\%1.net %nform% /s/i

goto end

 

:redac

 

if q$%3 == q$ set dest=\redac\work

cleanup %sourse%

cls

netlist %sourse% %dest%\%1.con racalredac/s

goto end

 

 

:notfound

 

echo ╔═════════════════════════

Редактиран от Филипов
Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...