Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 xp_cmdshell размер файла  [new]
Arl
Member

Откуда:
Сообщений: 90
Добрый день!

Хочу получить размер файла запросом tsql.
Код:
EXEC xp_cmdshell  'for %I in (calc.exe) do echo %~zI'

Результат запроса:
(null)
C:\Windows\system32>echo 188416
188416
(null)

При выполнении скрипта непосредственно из CMD "for %I in (calc.exe) do echo %~zI"
Размер файла получается:
c:\Windows\System32>for %I in (calc.exe) do echo %~zI
c:\Windows\System32>echo 918528
918528

Что я делаю не так?
23 ноя 17, 09:02    [20976852]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
tunknown
Member

Откуда:
Сообщений: 759
Arl
EXEC xp_cmdshell  'for %I in (calc.exe) do echo %~zI'


Неплохо бы дописать перед файлом его путь C:\Windows\system32
23 ноя 17, 10:00    [20977004]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
Arl
Member

Откуда:
Сообщений: 90
Не помогло, результат тот же.
Да и без пути видно, что файл один и тот же анализируется.
23 ноя 17, 10:09    [20977035]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Arl
Да и без пути видно, что файл один и тот же анализируется.
А как вы это увидели?

PS поискал, у меня в Windows каталогах 4 файла calc.exe, точнее, по 2 копии 2-х разных файлов
23 ноя 17, 10:18    [20977066]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
tunknown
Member

Откуда:
Сообщений: 759
Arl
Не помогло, результат тот же.
Да и без пути видно, что файл один и тот же анализируется.

Предлагаю сравнить вывод
EXEC xp_cmdshell 'echo %CD%'
и
echo %CD%
23 ноя 17, 10:35    [20977140]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
tunknown
Member

Откуда:
Сообщений: 759
Ещё сравнить
EXEC xp_cmdshell 'path'
и
path
23 ноя 17, 10:36    [20977151]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
tunknown
Member

Откуда:
Сообщений: 759
Arl
EXEC xp_cmdshell  'for %I in (calc.exe) do echo %~zI'


EXEC xp_cmdshell  'for %I in (calc.exe) do echo %~fI'

Возвращает ожидаемый путь к файлу и в cmd тоже?
23 ноя 17, 10:45    [20977207]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell размер файла  [new]
Arl
Member

Откуда:
Сообщений: 90
Ребят, всем спасибо, разобрался.
Забыл, что SQL сервер на другой машине, естественно, он к своему каталогу windows\system32 и обращался.
23 ноя 17, 10:47    [20977212]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить