Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] скопировать папку в другую папку, открыть sublime_text.exe и отключить обновление (http://forum.oszone.net/showthread.php?t=342805)

v79italya 04-11-2019 08:20 2894672

скопировать папку в другую папку, открыть sublime_text.exe и отключить обновление
 
здравствуйте. бат с таким текстом:
HTML код:

cmd.exe  /c "<nul set /p sTemp="eter978dsfd"|clip.exe"
start sublime_text.exe

открывает Sublime. только еще в буфер обмена сохраняет текст.после открытия Sublime доп.окошком предлагается обновление. каким кодом можно скопировать папку в другую папку, открыть Sublime и закрыть окно с предлагаемым обновлением?
наверное вариантом можно прописать нажатия кнопок: после открытия Sublime окно с обновлением становится активным и кнопками стрелка вправо и Enter можно закрыть окно.
адрес папки, которую копируем - C:\aa
адрес папки, куда копируем - C:\adb
еще бы удалить строку, которая в буфере сохраняет текст. пробовал удалением - перестает работать бат.

Iska 04-11-2019 09:37 2894676

Цитата:

Цитата v79italya
каким кодом можно … закрыть окно с предлагаемым обновлением? »

Никаким.

Цитата:

Цитата v79italya
наверное вариантом можно прописать нажатия кнопок: после открытия Sublime окно с обновлением становится активным и кнопками стрелка вправо и Enter можно закрыть окно. »

Нет в пакетных файлах никаких средств для «нажатия кнопок». AutoIt/AutoHotKey в помощь.

Цитата:

Цитата v79italya
еще бы удалить строку, которая в буфере сохраняет текст. пробовал удалением - перестает работать бат. »

Да ладно. Удаляете всю первую строку — и пакетный файл перестаёт работать? Не верю.

P.S. Вместо того, чтобы щёлкать по кнопкам, достаточно просто задать в настройках:
Скрытый текст

v79italya 04-11-2019 12:13 2894691

Цитата:

Цитата Iska
Удаляете всю первую строку »

так я не знал что всю надо удалять. думал cmd.exe обязательно должно присутствовать в коде. сейчас да, работает. спасибо
а вот с настройками в саблиме не сработало. на скрине ошибка
еще папку бы копировать батом

Iska 04-11-2019 15:48 2894706

Цитата:

Цитата v79italya
а вот с настройками в саблиме не сработало. на скрине ошибка »

Так у Вас уже есть фигурные скобки с пользователькими настройками внутри, не надо было их дублировать. Разместите «"update_check": false» внутри вторых фигурных скобок, не забыв отделить этот параметр запятой от последующих (если Вы размещаете его не последним), и уберите первые фигурные скобки.

Цитата:

Цитата v79italya
еще папку бы копировать батом »

Код:

xcopy.exe /?
robocopy.exe /?


v79italya 04-11-2019 18:02 2894716

Цитата:

Цитата Iska
уберите первые фигурные скобки »

сделал. обновление не предлагается. спасибо
с копированием папок не все так просто. вот так копирует
HTML код:

xcopy C:\aa\bb  C:\adb /E
но если копируемые файлы уже существуют в папке, то копирование не происходит или перезаписываются файлы.
если в папке уже есть файл, например, папка abc123, то нужно создать еще папку abc123_1, при следующем копировании еще папку abc123_2 и так далее(abc123_3,abc123_4,abc123_5...)
в Яндексе ничего не нагуглил

DJ Mogarych 04-11-2019 19:59 2894732

Цитата:

Цитата Iska
Нет в пакетных файлах никаких средств для «нажатия кнопок». »

Ну почему - https://stackoverflow.com/a/17851491

Iska 04-11-2019 20:23 2894737

v79italya, разъясните подробно, что Вы хотите скопировать, куда скопировать и под каким именем. Можно на конкретном примере.

DJ Mogarych, потому что это уже не:

а) пакетные файлы, а WSH;
б) «нажатие кнопок», а попытка отсылки нажатий клавиш активному окну со слабо гарантированным результатом.

Увы. Я зарёкся такое пользовать.

v79italya 04-11-2019 21:03 2894741

Цитата:

Цитата Iska
разъясните подробно »

нужно скопировать папку, например, с названием abc123. в папке будут и папки и файлы. в основном будут файлы .html, .css, .js, графические файлы и др. при копировании, если по адресу C:\adb\ уже есть папка abc123, то при копировании добавить суффикс _1(abc123_1), при следующем копировании _2 (abc123_2). таким образом в папке по адресу C:\adb\ могут быть несколько папок abc123 с разным суффиксом.
по моему ничего не упустил. кукую то папку могу потом вручную переименовать. в этом случае, при следующем копировании папки, если есть по адресу C:\adb\ папки abc123, abc123_1, abc123_2, переименованная_папка, abc123_4, abc123_5, то устроит папка с названием abc123_3 или abc123_6. не особо и важно.

Iska 04-11-2019 21:55 2894747

v79italya, сие может выглядеть примерно так:
Скрытый текст
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sParentFolder=C:\Мои проекты\0283\Source
set sDestFolder=C:\Мои проекты\0283\Destination
set sSourceFolderName=abc123

if not exist "%sParentFolder%\." (
        echo Can't find parent folder [%sParentFolder%].
        exit /b 1
)

if not exist "%sParentFolder%\%sSourceFolderName%\." (
        echo Can't find parent folder [%sParentFolder%\%sSourceFolderName%].
        exit /b 2
)

if not exist "%sDestFolder%\." (
        echo Can't find destination folder [%sDestFolder%].
        exit /b 3
)

if not exist "%sDestFolder%\%sSourceFolderName%\." (
        md "%sDestFolder%\%sSourceFolderName%"
        xcopy.exe /e "%sParentFolder%\%sSourceFolderName%\*.*" "%sDestFolder%\%sSourceFolderName%\*.*"

        exit /b 0
)

set /a iCount = 0

:loop
        set /a iCount += 1
       
        if not exist "%sDestFolder%\%sSourceFolderName%_%iCount%\." (
                md "%sDestFolder%\%sSourceFolderName%_%iCount%"
                xcopy.exe /e "%sParentFolder%\%sSourceFolderName%\*.*" "%sDestFolder%\%sSourceFolderName%_%iCount%\*.*"
               
                exit /b 0
        )
goto :loop

endlocal
exit /b 0


Цитата:

Цитата v79italya
в этом случае, при следующем копировании папки, если есть по адресу C:\adb\ папки abc123, abc123_1, abc123_2, переименованная_папка, abc123_4, abc123_5, то устроит папка с названием abc123_3 или abc123_6. не особо и важно. »

Сначала там появится abc123_3, затем abc123_6, abc123_7 и т.д. вплоть до abc123_(2³º-1).

v79italya 04-11-2019 22:17 2894750

Цитата:

Цитата Iska
примерно так »

опробовал - все работает. я так и знал что код будет строк в двадцать. главное все работает. спасибо большое.
в принципе, раз обновление не мучает, то саблиме можно запускать иконкой программы, а при надобности батом копировать папку. все отлично. спасибо


Время: 07:44.

Время: 07:44.
© OSzone.net 2001-