0

Сканер 2д com⁠⁠

Помогите народ. На одном компе стоит 1с 8.3 (2 базы - розница и розница базовая) и саби (приложуха сбис). Сканер атол 2108 plus 2д в режиме com порт. Если запущена 1 из программ то все норм сканит. Если же допустим 2 базы или база 1с и сбис то сканер работает только в той проге, какая была раньше запущена. Везде сканер прописан как ком на одном и том же порту. Как заставить ОС или проги освобождать ком порт.... Не ставить же 3 сканера... Прошу совета. Винда 10x64. 1с на апатч.

1
Автор поста оценил этот комментарий

```batch

@echo off

title Restart COM Port

setlocal enabledelayedexpansion

:: Ввод номера порта (например, 3 для COM3)

if "%1"=="" (

set /p "com_num=Enter COM port number (e.g., 3 for COM3): "

) else (

set "com_num=%1"

)

set "com_num=%com_num:COM=%"

set "com_name=COM%com_num%"

echo ========================================

echo Restarting %com_name% ...

echo ========================================

:: Попытка переинициализации через mode (без прав)

mode %com_name% baud=9600 parity=n data=8 stop=1 >nul 2>&1

if !errorlevel! equ 0 (

echo %com_name% has been reset via MODE command.

timeout /t 2 >nul

exit /b 0

)

:: Если mode не помог, перезапускаем устройство через PowerShell

echo MODE failed. Trying to restart device via PowerShell...

:: Проверка прав администратора

net session >nul 2>&1

if !errorlevel! neq 0 (

echo ERROR: Administrator privileges required for device restart.

echo Please run this script as Administrator.

pause

exit /b 1

)

:: Отключение и включение устройства через PnP

powershell -Command "& { $portName = '%com_name%'; $device = Get-PnpDevice -PresentOnly | Where-Object { $_.FriendlyName -like \"*$portName*\" -or $_.DeviceID -like \"*$portName*\" }; if ($device) { Write-Host \"Found device: $($device.FriendlyName)\"; Disable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false; Start-Sleep -Seconds 2; Enable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false; Write-Host \"Device restarted.\" } else { Write-Host \"Device with $portName not found.\" } }"

if !errorlevel! equ 0 (

echo Device restart completed.

) else (

echo Device restart failed.

)

pause

```

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

На весь пикабу один ответ который стоит милльен. Спасибо огромное

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества