малко ретро с MSDOS

17 отговора 0 прегледа
#1

малко ретро с MSDOS

Извинете за невежеството ми: възможно ли е с .bat файл да се извърши копиране на файл от един компютър на друг, но да има възможност името на приемния компютър да се въвежда ръчно при изпълнението на кода, т.е. в един вид input mode.

Съжалявам ако въпроса не е за тук, но ми се стори по-скоро майкрософтски.

Редактирано от insane на

Отговор
в отговор на insane #2

Re: малко ретро с MSDOS

от къфф зор ръчно?
не може ли
copy [path\filename] \\computer1\[path\]
copy [path\filename] \\computer2\[path\]
copy [path\filename] \\computer3\[path\]

Отговор
в отговор на tuff slim #3

Re: малко ретро с MSDOS

точно така правя, но ми се иска като се стигне до \\computer1\ аз да му задам името в някакъв диалогов режим, а не да редактирам всеки път bat-файла, който всъщност прави само едно копиране на различен компютър, но пътищата са супер дълги и могат да станат неволни грешки при редактирането

Редактирано от insane на

Отговор
в отговор на insane #4

Re: малко ретро с MSDOS

Вместо BAT file, пробвай един VBS (VBScript) или JVS (JavaScript) script...


Отговор
в отговор на insane #5

Re: малко ретро с MSDOS

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

пс - другото е както ти е казал Наки

Редактирано от tuff slim на

Отговор
в отговор на insane #6

Re: малко ретро с MSDOS

MAP-ни си папката отсреща и от там нататъка - само буквата си ползвай

Отговор
в отговор на gogo #7

Re: малко ретро с MSDOS

В бат вайла може да използваш командни параметри %1 първият %2 вторият и т.н.

Отговор
в отговор на insane #8

Re: малко ретро с MSDOS

Момчета, благодаря за вниманието! Обаче явно нещо аз не съм го обяснил като хората, така че ще се пробвам пак:

Имаме един единствен bat-файл, който изпълнява едно копиране на файл от компютър1 на компютър2 (който е някъде по мрежата) и изглежда примерно така :

copy d:\...много дълъг път ..\файл.txt \\компютър2\...много дълъг път...\ /y

тази операция се налага да се повтаря многократно, като разликата в командния ред е единствено "\\компютър2", който всеки път е произволен, останалото винаги е едно и също, дори и пътищата

питането беше дали има начин при изпълнението на командата името на компютъра (\\компютър2) да се въвежда в някакъв диалогов режим, за да се спести редактирането на файла

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

Отговор
в отговор на insane #9

Re: малко ретро с MSDOS

grg ти каза - .bat файловете приемат параметри. Първият параметър се приема от файла като променлива %1, вторият - %2 и т.н. Самото име на .bat файла (заедно с целия път) му се предава като %0. Та - в твоя случай ще трябва да направиш нещо такова:

copy d:\...много дълъг път ..\файл.txt \\%1\...много дълъг път...\ /y

И ще трябва да си вършиш работа, като изпълниш от конзолата:

[Име-на-.bat-файла] компютър2

Въпросното компютър2 се предава на файла като параметър %1, замества се %1 в текста със стойността, предадена от ОС при стартирането, и се изпълнява.

____________
Библия учить нас любить ближнего своего. Кама-сутра объясняет, как это делать.
Отговор
в отговор на insane #10

Re: малко ретро с MSDOS

Наистина ли е произволен?
Колко компа са в тая мрежа...

Welcome to the real world!

Отговор
в отговор на Mopфиyc #11

Re: малко ретро с MSDOS

естествено, че не е произволен. пича все още не може да дефинира задачата за която вече е "намерил" решение

Отговор
в отговор на insane #12

Re: малко ретро с MSDOS

хххх хх хх хххххх хххххх напоследък, май?

толкова ли не можеш да направиш найсе бат файла с които да копираш съответния файл на определен компютър? и да ползваш scheduler-a за да го копираш не ръчно, а автоматизирано?

Отговор
в отговор на tuff slim #13

Re: малко ретро с MSDOS

Пък ако види и робокопи, да копира само променените файлове... може да направи нещо смислено

Welcome to the real world!

Отговор
в отговор на Mopфиyc #14

Re: малко ретро с MSDOS

ти пък сега го учиш на висш пилотаж...

Отговор
в отговор на tuff slim #15

Re: малко ретро с MSDOS

Човеко, какво ти става? Моля те да ми обясниш причината на това сляпо хейтене по мой адрес! Задавам си учтиво въпрос по тема, която не ми е позната, за което споменах и дори се извиних. Само не ми казвай, че на теб всичко в този живот ти е ясно и не се налага да питаш. Няма да продължавам с грубости, че ще заприличам на теб...

Морфиус - имах съвсем друго мнение за теб, не че има значение

walkman - благодаря ти, точно това ми трябваше

Отговор
в отговор на insane #16

Re: малко ретро с MSDOS

факта, че настояваш да пишеш името на машината означава, че все още не си изяснил какво искаш да постигнеш, но в замяна на това знаеш КАК да го постигнеш. къде виждаш хейтене тук?

Отговор
в отговор на walkman™ #17

Re: малко ретро с MSDOS

Пробвай дали няма да стане с т.нар input redirection - символа "<"

[Име-на-.bat-файла] < computernames.txt

Където computernames.txt съдържа списък с имената на компютрите.
[линк]

ит поддръжка | полилеи
Отговор
в отговор на it nerd #18

Re: малко ретро с MSDOS

Първо - не на мен ми е нужно, отговаряй на точния човек.

Второ - едва ли точно това му трябва. По този начин ще получи като параметри имената на всички машини, трябва да прави обработка в .bat файла да ги отдели. И после - доколкото разбрах, на него не му трябва с една команда да прати нещо на всички машини, а да има команда, която да приема като параметър името на отдалечения комп и да му праща нещо. Всеки път на различен комп, и всеки път - на по един, не на група машини.

____________
Библия учить нас любить ближнего своего. Кама-сутра объясняет, как это делать.
Отговор