|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Синтаксис cmd для CmdShell (MS SQL) |
|
CMD/BAT - [решено] Синтаксис cmd для CmdShell (MS SQL)
|
Новый участник Сообщения: 46 |
Есть такой bat
set From=H:\MSSQL\Backup\Daily\*.bak set To=H:\MSSQL\Backup\Month xcopy "%"From"%" /y /S /I "%"To"%" Но при попытке поместить данный код в CmdShell (MS SQL) - не работает. Ситуацию осложняет ограниченный вывод ошибок. Т.е. ошибок не выводится, но и копирование не выполняется. На данный момент дошел до того, что надо склеить строки в одну через &&: set From=H:\MSSQL\Backup\Daily\*.bak && set To=H:\MSSQL\Backup\Month && xcopy "%"From"%" /y /S /I "%"To"%" теперь уже что-то начало работать, вернее, появилась ошибка "File not found - %From%" |
|
Отправлено: 09:13, 26-12-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата cons74:
Цитата cons74:
Цитата cons74:
|
|||
Отправлено: 09:21, 26-12-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Если под "совершенно лишнее" вы имеете в виду что можно и не указывать переменные - то я отвечу что мне надо данный код указать в 2х местах для разных папок. А еще не указал - но есть - параметр /D, т.е. полный код который хочу выполнить:
В любом случае замена && на & не решает проблему "File not found - %From%" |
Отправлено: 09:52, 26-12-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата cons74:
Цитата cons74:
|
||
Отправлено: 10:57, 26-12-2018 | #4 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 14:00, 26-12-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать cons74, с командами, объединёнными по &, есть одна проблема — раскрытие переменных окружения в них происходит в момент начала исполнения всей программной строки. То есть, Ваше:
set From=H:\MSSQL\Backup\Daily\*.bak & set To=H:\MSSQL\Backup\Month & xcopy %From% /y /S /I %To% Можете попробовать так (не проверялось): |
Отправлено: 16:59, 26-12-2018 | #6 |
Crazy Сообщения: 1232
|
Профиль | Отправить PM | Цитировать Цитата cons74:
( set From=H:\MSSQL\Backup\Daily\*.bak set To=H:\MSSQL\Backup\Month xcopy %From% /y /S /I %To% ) setlocal enabledelayedexpansion ( set "From=H:\MSSQL\Backup\Daily\*.bak" set "To=H:\MSSQL\Backup\Month" xcopy !From! !To! /y /S /I ) |
|
------- Отправлено: 17:06, 26-12-2018 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, так ему одна строка нужна, а не две
![]() |
Отправлено: 17:25, 26-12-2018 | #8 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Iska, File not found - *.bak%
Убрал двойные % - заработало: set "From=H:\MSSQL\Backup\Daily\*.bak" & set "To=H:\MSSQL\Backup\Month" & call xcopy.exe "%From%" "%To%" /y /s /i set Condition=/d:%date:~3,2%-%date:~0,2%-%date:~6,4% Добил set From=H:\MSSQL\Backup\Daily\*.bak & set To=H:\MSSQL\Backup\Month & set Condition=/d:%date:~3,2%-%date:~0,2%-%date:~6,4% & call xcopy.exe %From% %To% %Condition% /y /s /i |
Последний раз редактировалось cons74, 26-12-2018 в 18:40. Отправлено: 18:12, 26-12-2018 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MSFT SQL Server - Есть ли способ перейти с MS SQL 2005 на MS SQL 2000 | elec | Программирование и базы данных | 10 | 18-04-2013 12:35 | |
MSFT SQL Server - Ограничение ЦП для MS SQL | Rulezzz2 | Программирование и базы данных | 3 | 18-04-2013 02:03 | |
MSFT SQL Server - MS SQL Express и MS SQL Standart | Negativ | Программирование и базы данных | 1 | 25-12-2012 08:12 | |
Использование - MS SQL server cal 2005 для доступа к SQL SRV 2008 | xaustov | Лицензирование продуктов Microsoft | 1 | 20-01-2012 17:55 | |
MSFT SQL Server - кластеризация MS DTC для SQL | toro | Программирование и базы данных | 7 | 31-01-2009 20:18 |
|