|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Слова вводимые пользователем разбить на части и присвоить переменным |
|
|
CMD/BAT - Слова вводимые пользователем разбить на части и присвоить переменным
|
Новый участник Сообщения: 9 |
Нужно запросить у пользователя ввод текста, разбить текст на части (пробел означает новая часть) и каждую часть присвоить отдельной переменной, значение которой будет являться именем файла, то есть на каждое слово будет создаваться один файл.
Слов может быть до 16 штук. Можно через Powershell или любой другой инструмент который есть на Win10? можно даже будет скачать что-нибудь. Самое главное чтобы можно было это записать в файлик и при запуске срабатывал сценарий. Как я это представляю: *пользователь вводит: advantages works about portfolio order call* *Создалось 6 файлов: advantages.html works.html about.html portfolio.html order.html call.html* Всем спасибо за любые советы и подсказки. P.S Еще дополнительный вопрос появился, возможно ли запускать программу из BAT и сразу закрывать окно после этого? Я знаю что можно запускать exe через start, но у меня специальная команда "code ." которая запускает программу vscode с уже открытой папкой (откуда вызвали саму программу), и после нее батник приходится закрывать вручную, либо окно закрывается когда я закрываю visual studio code. |
|
Отправлено: 21:34, 01-08-2019 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Пакетный файл
Скрипт WSH
Option Explicit Dim strProjectNames Dim strProjectName With WScript.CreateObject("Scripting.FileSystemObject") If StrComp(.GetFileName(WScript.FullName), "wscript.exe", vbTextCompare) = 0 Then strProjectNames = Trim(InputBox("Enter project names:", "Enter project names")) Else WScript.StdOut.Write "Enter project names:" strProjectNames = Trim(WScript.StdIn.ReadLine()) End If If Len(strProjectNames) > 0 Then For Each strProjectName In Split(strProjectNames) .CreateTextFile(strProjectName & ".html", True).Close WScript.Echo "Create file [" & strProjectName & ".html]." Next End If End With WScript.Quit 0 Цитата zerdox@vk:
|
|
Отправлено: 22:16, 01-08-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата zerdox@vk:
$ext = ".html" #Содержимое файлов: $html = @' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script> window.onbeforeunload = function() { return '' } </script> <SCRIPT> function kill(){window.close ();} </SCRIPT> </head> <body> <h1>Закрой меня!</h1> <h1>Так:</h1> <br> <input type=button name = Ы value = "Нажмите" onClick=kill()> <br> <h1>Или так:</h1> <a href="#" onClick="parent.self.close(); return false">Закрытие страницы</a> </body> </html> '@ $var = read-host "Files" [array]$var = $var.split() $var|%{new-item -n ("$_"+$ext) -it 'file' -v $html} Цитата zerdox@vk:
|
||
------- Отправлено: 08:22, 02-08-2019 | #3 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
( git clone https://github.com/ZerdoX-x/project.git set /P project_name="Project Name is - " ren "project" "%project_name%" ren *.psd "%project_name%".psd move *.psd "%project_name%\psd" cd %project_name% rd /S /Q .git del /F /Q psd\.gitkeep.txt del /F /Q src\fonts\.gitkeep.txt del /F /Q src\img\.gitkeep.txt cd src powershell -Command "(gc index.html) -replace '<title>Title</title>', '<title>%project_name%</title>' | Out-File -encoding ASCII index.html" cd ..\ code . Сейчас снова решил попробовать, вставил вместо "code ." "cmd /c start /D "C:\Users\1234\AppData\Local\Programs\Microsoft VS Code" Code.exe" и все заработало точно так-же) странно.. (я не разбираюсь что означают все эти префиксы и прочее, видимо в прошлый раз я команду брал из другого источника и что-то там было написано по другому, сам я это не пишу, все беру из интернета) В общем проблема решилась сама собой ![]() И возможно вы знаете как правильно сохранить файл чтобы мне в начале убрать эту надоедливую скобку. Я ее туда поставил из-за кодировки файла, потому что на первую команду почему-то вставляется "я╗┐" скриншот (в самом файле нет этих символов, они именно если запускать батник появляются) По поводу сценария, спасибо большое, все работает. Но не совсем понял куда нужно прописать путь, чтобы он клал файлы не туда откуда вызвался батник, а относительно него по пути: "%project_name%\src\template\" |
|
Последний раз редактировалось zerdox@vk, 02-08-2019 в 14:04. Отправлено: 13:49, 02-08-2019 | #4 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата zerdox@vk:
В общем, батники сохраняйте в кодировке cp866 (OEM) и тогда таких проблем не будет возникать. Цитата zerdox@vk:
![]() |
|||
------- Отправлено: 15:02, 02-08-2019 | #5 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 16:02, 02-08-2019 | #6 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать просто решу это при помощи cd
|
Отправлено: 16:51, 02-08-2019 | #7 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата zerdox@vk:
$ext = ".html" #Содержимое файлов: $html = @' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script> window.onbeforeunload = function() { return '' } </script> <SCRIPT> function kill(){window.close ();} </SCRIPT> </head> <body> <h1>Закрой меня!</h1> <h1>Так:</h1> <br> <input type=button name = Ы value = "Нажмите" onClick=kill()> <br> <h1>Или так:</h1> <a href="#" onClick="parent.self.close(); return false">Закрытие страницы</a> </body> </html> '@ #Путь к целевому каталогу: $path = 'z:\Folder' if (!(test-path $path)){md $path|out-null} $var = read-host "Files" [array]$var = $var.split() $var|%{ni -p $path -n ("$_"+$ext) -it 'file' -v $html} Цитата zerdox@vk:
|
||
------- Последний раз редактировалось YuS_2, 02-08-2019 в 17:18. Отправлено: 17:10, 02-08-2019 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 21:24, 02-08-2019 | #9 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата Iska:
В том смысле, что powershell-у неизвестно ничего о существовании такой переменной. Можно просто через батник вызвать powershell сценарий и там же передать сценарию значение этой переменной... |
|
------- Отправлено: 08:36, 03-08-2019 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Присвоить переменным значения имен файлов в папке | kopbetby | Скриптовые языки администрирования Windows | 5 | 10-10-2016 14:26 | |
Прочее - Разбить архив на части | venuko | Общий по Linux | 12 | 30-06-2015 09:38 | |
VBS/WSH/JS - поиск слова в тексте и вывод части текста после искомого слова | sergey23031978 | Скриптовые языки администрирования Windows | 9 | 18-02-2015 16:54 | |
Как разбить страницу на части? | alturgrey | Вебмастеру | 13 | 09-08-2010 16:29 | |
[решено] Разбить mp3 на части | samurai | Видео и аудио: обработка и кодирование | 3 | 08-01-2009 12:10 |
|