{"id":177,"date":"2016-04-28T14:58:20","date_gmt":"2016-04-28T14:58:20","guid":{"rendered":"http:\/\/luliserver.com.ar\/?p=177"},"modified":"2023-12-19T23:42:51","modified_gmt":"2023-12-20T02:42:51","slug":"simplemente-batch","status":"publish","type":"post","link":"http:\/\/luliserver.com.ar\/?p=177","title":{"rendered":"Simplemente Batch"},"content":{"rendered":"<p>No s\u00e9 que paso en esta semana, pero tome la decisi\u00f3n de comenzar a automatizar tareas. Y s\u00ed cuesta creerlo por el titulo pero lo hice <strong>simplemente con batch<\/strong>.<br \/>\nNo suelo hacer esto pero inicialmente voy a dejar las fuentes, tanto como para que lean a otras personas as\u00ed como tambi\u00e9n para que me queden cu\u00e1l bookmark guardado:<\/p>\n<blockquote><p>Fuentes:<br \/>\nF2KO Software, esta p\u00e1gina posee un set de script para usar. Particularmente use <a href=\"http:\/\/www.f2ko.de\/en\/b2e.php\" target=\"_blank\" rel=\"noopener\">Bat To Exe Converter<\/a><br \/>\n<a href=\"http:\/\/www.f2ko.de\/en\/index.php\" target=\"_blank\" rel=\"noopener\">http:\/\/www.f2ko.de\/en\/index.php<\/a><br \/>\nPara iniciarse en batch: <a href=\"http:\/\/www.robvanderwoude.com\/batchstart.php\" target=\"_blank\" rel=\"noopener\">http:\/\/www.robvanderwoude.com\/batchstart.php<\/a><br \/>\nOtra p\u00e1gina para iniciarse: <a href=\"http:\/\/steve-jansen.github.io\/guides\/windows-batch-scripting\/part-1-getting-started.html\" target=\"_blank\" rel=\"noopener\">http:\/\/steve-jansen.github.io\/guides\/windows-batch-scripting\/part-1-getting-started.html<\/a><br \/>\nEjemplos de scripts: <a href=\"http:\/\/luliserver.com.ar\/?p=163\" target=\"_blank\" rel=\"noopener\">http:\/\/luliserver.com.ar\/?p=163<\/a><br \/>\nWGET: <a href=\"http:\/\/gnuwin32.sourceforge.net\/packages\/wget.htm\" target=\"_blank\" rel=\"noopener\">http:\/\/gnuwin32.sourceforge.net\/packages\/wget.htm<\/a>\n<\/p><\/blockquote>\n<p>Les dejo un ejemplo de un script que arme. Este mismo es una especie de cliente de repositorio que hace la consulta al fileserver y descarga los instaladores en la terminal. Luego, s\u00ed el instalador lo permite, hace un <code>silent install<\/code> en la terminal. De esta manera inyecto en la terminal una linea de c\u00f3digo para instalar nuevos programas o mantenerlos actualizados.<\/p>\n<pre>\r\n@ECHO off\r\n::\r\n:: repository-client\r\n:: @created: 2016 04 26\r\n:: @by: Pablo Gabriel Savoia\r\n::\r\n\r\nsetlocal enabledelayedexpansion\r\n\r\ntitle Repository\r\n\r\nset ABS_PATH=%~dp0\r\nset app=\r\nset configFile=config.cmd\r\n\r\nif not exist \"%ABS_PATH%config.cmd\" (\r\n\r\n\techo To run %~n0, you must config %configFile%\r\n\tgoto :EOF\r\n\r\n) else (\r\n\r\n\tcall \"%ABS_PATH%%configFile%\"\r\n\r\n)\r\n\r\nif {%1}=={\/?} goto :HELP\r\nif {%1}=={\/update} goto :UPDATE\r\nif {%1}=={\/list} goto :LIST\r\nif {%1}=={\/install} goto :INSTALL\r\ngoto :HELP\r\n\r\n:HELP\r\necho.Usage: %~n0.bat\r\necho.\r\necho.\/?\t\tHelp options.\r\necho.\/update \tUpdate all repository.\r\necho.\/list \t\tShow all install files.\r\necho.\/install \tInstall file in silent mode.\r\necho.\r\n\r\ngoto :EOF\r\n\r\n::IF %PROCESSOR_ARCHITECTURE% == x86 (\r\n::\r\n::        set app=%ProgramFiles%\r\n::\r\n::\t) ELSE (\r\n::\r\n::        set app=%ProgramFiles(x86)%\r\n::        set app=%app%)\r\n::\r\n::)\r\n\r\n\r\n:UPDATE\r\n:: echo Detected directory: %~dp0\r\n:: %~d0\r\n:: CD %~p0\r\n:: CD %TEMP%\r\n\r\nIF NOT EXIST C:\\Windows\\Temp\\repository (\r\n\r\n\tmd C:\\Windows\\Temp\\repository\r\n\r\n)\r\n\r\nPUSHD C:\\Windows\\Temp\\repository\r\n\r\nif exist repository.list (\r\n\r\n\tdel repository.list\r\n\r\n)\r\n\r\n%wget% %repository%repository.list\r\n\r\nfor \/f \"tokens=*\" %%a in (repository.list) do (\r\n\r\n\tif not exist %%a (\r\n\r\n\t\t%wget% %repository%%%a\r\n\r\n\t)\r\n\r\n)\r\n\r\nPOPD\r\n\r\ngoto :EOF\r\n\r\n\r\n:LIST\r\nIF NOT EXIST C:\\Windows\\Temp\\repository (\r\n\r\n\tmd C:\\Windows\\Temp\\repository\r\n\r\n)\r\n\r\nPUSHD C:\\Windows\\Temp\\repository\r\n\r\nif exist repository.list (\r\n\r\n\t::for \/f \"delims=\" %%D in ('dir \/a: \/b') do echo %%D\r\n\tfor \/f \"tokens=*\" %%a in (repository.list) do (\r\n\r\n\t\techo %%a\r\n\r\n\t)\r\n\r\n\tPOPD\r\n\r\n) else (\r\n\r\n\techo Ejecute %~n0.bat \/update .\r\n\r\n)\r\n\r\ngoto :EOF\r\n\r\n\r\n:INSTALL\r\nif not (%2)==() (\r\n\r\n\tif exist C:\\Windows\\Temp\\repository\\%2 (\r\n\r\n\t\tcall C:\\Windows\\Temp\\repository\\%2 \/silent\r\n\r\n\t) else (\r\n\r\n\t\tgoto :UPDATE\r\n\r\n\t\tif exist C:\\Windows\\Temp\\repository\\%2 (\r\n\r\n\t\t\tcall C:\\Windows\\Temp\\repository\\%2 \/silent\r\n\r\n\t\t) else (\r\n\r\n\t\t\techo Se ha actualizado la lista, no existe el instalador %2 en el repositorio.\r\n\r\n\t\t)\r\n\r\n\r\n\t)\r\n\r\n) else (\r\n\r\n\techo No ha ingresado el instalador.\r\n\techo Ejecute %~n0.bat \/list para elegir un instalador.\r\n\r\n)\r\n\r\ngoto :EOF\r\n\r\n\r\n:EOF\r\npause\r\n<\/pre>\n<p>Este script, consulta a un archivo <code>config.cmd<\/code> en donde se encuentran las variables de configuraci\u00f3n.<\/p>\n<pre>\r\nset wget=\"%ABS_PATH%bin\\wget.exe\"\r\nset repository=http:\/\/10.0.0.10\/repository\/\r\n<\/pre>\n<p>Y gracias al <code>wget<\/code> puedo hacer la descarga de los archivos. Lo pueden descargar de <a href=\"http:\/\/gnuwin32.sourceforge.net\/packages\/wget.htm\" target=\"_blank\" rel=\"noopener\">http:\/\/gnuwin32.sourceforge.net\/packages\/wget.htm<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No s\u00e9 que paso en esta semana, pero tome la decisi\u00f3n de comenzar a automatizar tareas. Y s\u00ed cuesta creerlo por el titulo pero lo hice simplemente con batch. No suelo hacer esto pero inicialmente voy a dejar las fuentes,<\/p>\n","protected":false},"author":1,"featured_media":184,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[80,2],"tags":[81,96,93,94,95],"class_list":["post-177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-batch","category-scripts","tag-batch","tag-cmd","tag-exe","tag-scripts","tag-wget"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"http:\/\/luliserver.com.ar\/wp-content\/uploads\/2016\/04\/repository.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8Ixc0-2R","_links":{"self":[{"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/posts\/177"}],"collection":[{"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=177"}],"version-history":[{"count":10,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions"}],"predecessor-version":[{"id":441,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions\/441"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=\/wp\/v2\/media\/184"}],"wp:attachment":[{"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/luliserver.com.ar\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}