Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/55: Рейтинг темы: голосов - 55, средняя оценка - 4.98
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246

Запуск скрипта и ошибка "неверно задано имя папки"

30.11.2018, 16:46. Показов 12324. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет, написал батник, который будет запускать некий скрипт
Windows Batch file
1
PowerShell.exe -ExecutionPolicy UnRestricted -File .\1.ps1
Далее сам Гибридный PowerShell, за его написание спасибо v_svitere,

PowerShell
1
2
3
4
5
6
7
8
<# ::
@echo off
powershell -ex bypass -c "&{[scriptblock]::create((gc '%~f0' -enc OEM) -join [char]10).invoke()}"
pause&exit /b
#>
$secpasswd = ConvertTo-SecureString "52222e" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("Admin22", $secpasswd)
Start-Process msiexec.exe -Wait -ArgumentList '/i C:\test\64Klient\Ent.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU' -Runas $mycreds
Вылетает ошибка, не найдена папка.

в Самом редакторе powershell код выполняется, папку видит. В чём причина?

И ещё вопрос, как-то проще сценарий, который лежит в 1.ps1 можно запустить, минуя батники?
Миниатюры
Запуск скрипта и ошибка "неверно задано имя папки"  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2018, 16:46
Ответы с готовыми решениями:

vbc : error BC30138: Невозможно создать временный файл на пути 'C: emp ': Неверно задано имя папки.
ни с того ни с сего все сайты начали давать ошибку vbc : error BC30138: Невозможно создать временный файл на пути 'C: emp ': Неверно...

Запуск скрипта для анализа папки и запуска другого скрипта
Мне нужно написать скрипт, который каждую секунду (или 5 сек) сканировал определенную папку на поиск определенного файла. Например...

Не верно задано имя папки (рабочий стол)
После установки системы при запуске документа .doc, xlsx, .txt и т.д. с рабочего стола Windows 10 появляется окно с ошибкой &quot;Не верно...

39
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
03.12.2018, 11:18  [ТС]
Студворк — интернет-сервис помощи студентам
v_svitere, не копируется вообще, и окно Windows тоже не появлется
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
03.12.2018, 11:40
Phil, Это странно.
Вы исправленный код запускаете?
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$Object = New-Object -ComObject WScript.Network 
$DISK="B:"
$DestLocation = "C:\Test\windows64f"
$Object.MapNetworkDrive( $DISK, "\\192.168.1.32\it", "true")
if (Test-Path $DISK)
{
    $objShell = New-Object -ComObject "Shell.Application"
    $objFolder = $objShell.NameSpace($DestLocation) 
    $FOF_CREATEPROGRESSDLG = "&H0&"
    $files=(gci "B:\Distr1C\64Klient\" -File).fullname
    foreach($file in $files)
    {
        $objFolder.CopyHere($file, $FOF_CREATEPROGRESSDLG)
    }
    $Object.RemoveNetworkDrive($DISK)
}
Когда доходите вот до этой строки
PowerShell
1
$files=(gci "B:\Distr1C\64Klient\" -File).fullname
Вывод $files какой?
У вас файлы лежат в директории 64Klient ?
1
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
03.12.2018, 11:47  [ТС]
Цитата Сообщение от v_svitere Посмотреть сообщение
У вас файлы лежат в директории 64Klient ?
да

Цитата Сообщение от v_svitere Посмотреть сообщение
Вывод $files какой?
ничего не происходит,
диск подключается, и всё...
Миниатюры
Запуск скрипта и ошибка "неверно задано имя папки"  
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
03.12.2018, 12:00
Phil, Как мне видится по скрину, вы просто скриптблок который заключен в {} не отправляете на выполнение. Нажмите ENTER после копирования кода.


Если копирование не происходит, посмотрите содержимое переменной $files
Просто выполнив, по завершении
PowerShell
1
$files
Код должен работать.
1
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
03.12.2018, 13:46  [ТС]
v_svitere, сменил диск,на который сохранять, пошло копирование, закрыт он что-ли для записи был у пользователя.

Копируется по файлу, а нельзя общий прогресс показывать? а не по всем файлам, установочных файлов много просто. Целесообразнее одно окно видеть, чем 150 по-переменно закрывающихся.
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
03.12.2018, 14:00
Лучший ответ Сообщение было отмечено YuS_2 как решение

Решение

Phil,
Копируется по файлу, а нельзя общий прогресс показывать? а не по всем файлам, установочных файлов много просто. Целесообразнее одно окно видеть, чем 150 по-переменно закрывающихся.
Можно, конечно.

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
$Object = New-Object -ComObject WScript.Network 
$DISK="B:"
$DestLocation = "C:\Test\windows64f"
$Object.MapNetworkDrive( $DISK, "\\192.168.1.32\it", "true")
if (Test-Path $DISK)
{
    $objShell = New-Object -ComObject "Shell.Application"
    $objFolder = $objShell.NameSpace($DestLocation) 
    $FOF_CREATEPROGRESSDLG = "&H0&"
    $TARGET=$objShell.NameSpace("B:\Distr1C\64Klient\")
    $objFolder.CopyHere($TARGET.items(), $FOF_CREATEPROGRESSDLG)
    $Object.RemoveNetworkDrive($DISK)
}
2
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
03.12.2018, 18:08
Цитата Сообщение от Phil Посмотреть сообщение
\Distr1C\64Klient\*
А у вас AD-домена случайно нет? 1С-клиент (msi-установщик), без каких-либо проблем, скриптов и ручных копирований
отлично распространяется на клиентские ПК, с помощью групповой политики "Software Installation"...
0
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
03.12.2018, 20:26  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
А у вас AD-домена
не, то портативные нетбуки на руках у пользователей, даже интернет не всегда у них есть.
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
04.12.2018, 10:12
Цитата Сообщение от Phil Посмотреть сообщение
не, то портативные нетбуки на руках у пользователей
Тем не менее, они подключаются к вашей сети с шарой, где лежит 1С-клиент. Чего-бы тогда не устанавливать это ПО через GPO? И забыть все эти костыли со скриптами.

Цитата Сообщение от Phil Посмотреть сообщение
даже интернет не всегда у них есть.
И-нет для работы в AD-сети и не обязателен
0
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
04.12.2018, 10:49  [ТС]
KDE777, они подключаются к 1с через тонкий клиент, к сетевым дискам по умолчанию они не подключаются.

и у нас AD нет, 1с на Линуксе крутится (PostgreSQL)
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
04.12.2018, 10:56
Цитата Сообщение от Phil Посмотреть сообщение
и у нас AD нет, 1с на Линуксе крутится
Тогда понятно.
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
04.12.2018, 10:58
KDE777,
1с на Линуксе крутится (PostgreSQL)
О, знакомый бюджетный вариант)
0
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
05.12.2018, 17:49  [ТС]
v_svitere, KDE777, Подскажите, почему у меня очистка папки стартует раньше, чем установка?

PowerShell
1
2
3
4
5
6
$secpasswd = ConvertTo-SecureString "22" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("admin", $secpasswd)
$job = Start-Job -scriptblock {
Start-Process msiexec.exe -Wait -ArgumentList '/i C:\Test\1CEnterprise.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU'
} -credential $mycreds
Remove-Item "C:\Test"-Force  -Recurse -ErrorAction SilentlyContinue
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.12.2018, 18:13
Цитата Сообщение от Phil Посмотреть сообщение
Подскажите, почему у меня очистка папки стартует раньше, чем установка?
PowerShell
1
Get-Help Wait-Job
Добавлено через 2 минуты
И встречный вопрос - зачем вы создаёте job, а не сразу запускаете Start-Process?

PowerShell
1
Start-Process msiexec.exe -Wait -Credential $mycreds -ArgumentList '/i C:\Test\1CEnterprise.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU'
Добавлено через 3 минуты
+ ещё на почитать

PowerShell
1
2
Get-Help about_jobs
Get-Help about_job_details
1
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
06.12.2018, 13:11  [ТС]
KDE777, что предложили, то и использовал)
все равно -Wait не отрабатывает, начинается установка, а затем очистка установочной папки, в следствии чего установка падает.

нашёл такой вариант, думал после выполнения условия поставить очистку, но тоже не то, да ещё на else ругается почему то
PowerShell
1
2
3
4
5
6
7
8
9
10
$InsightInstall = Start-Process msiexec.exe -Wait -Passthru  -Credential $mycreds -ArgumentList '/i C:\Test\1CEnterprise.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU'
if($InsightInstall.ExitCode -eq 0)
{
    Write-Host "Installation complete."
}
else
{
    Write-Host "Failed with ExitCode" $InsightInstall.ExitCode
    pause
}
Добавлено через 1 час 17 минут
Есть возможность ожидать окончания процесса, получить ответ, что процесс выполнен и тогда запускать очистку папки?

А так получается запускается msi пакет и удаляется в папке все файлы, нужные msi для установки)
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
06.12.2018, 13:19
Цитата Сообщение от Phil Посмотреть сообщение
все равно -Wait не отрабатывает, начинается установка, а затем очистка установочной папки, в следствии чего установка падает.
Предположу, что msiexec.exe запускает 1CEnterprise.msi и сам завершается, поэтому и действие -Wait заканчивается...

Если всё время пока у вас идёт установка есть процесс 1CEnterprise.msi, тогда сделайте примерно так:

PowerShell
1
2
3
4
Start-Process msiexec.exe -Wait -Credential $mycreds -ArgumentList '/i C:\Test\1CEnterprise.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU'
sleep -s 5
Wait-Process 1CEnterprise
Remove-Item "C:\Test"-Force  -Recurse -ErrorAction SilentlyContinue
1
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
06.12.2018, 13:24  [ТС]
Я тоже так думаю, т.к. какая-то часть установки успевает пройти.
По коду
KDE777,
Цитата Сообщение от KDE777 Посмотреть сообщение
sleep -s 5 Wait-Process 1CEnterprise
Делаем паузу, чтобы успел запуститься процесс 1CEnterprise, и уже на него вешаем Wait ?

Добавлено через 56 секунд
KDE777, а конструкцией if-else что не то?
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
06.12.2018, 13:30
Цитата Сообщение от Phil Посмотреть сообщение
а конструкцией if-else что не то?
Зачем гадать? Покажите текст ошибки.

Добавлено через 1 минуту
Цитата Сообщение от Phil Посмотреть сообщение
Делаем паузу, чтобы успел запуститься процесс 1CEnterprise, и уже на него вешаем Wait ?
Запустите пример из #36 и проверьте.
0
Эксперт 1С
 Аватар для Phil
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,246
06.12.2018, 15:20  [ТС]
KDE777,
PowerShell
1
2
3
4
Start-Process msiexec.exe -Credential $mycreds -ArgumentList '/i C:\Test\1CEnterprise.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=EN'
sleep -s 5
Wait-Process '1C:Предприятие 8 Тонкий клиент'
Remove-Item 'C:\Test'-Force -Recurse -ErrorAction SilentlyContinue
Не удалось найти процесс с именем "1C:Предприятие 8 Тонкий клиент"

но так он называется в Диспетчере задач.
Запускается установщик виндовс а в нём процесс - "1C:Предприятие 8 Тонкий клиент"

Добавлено через 10 минут
KDE777, если параметр sleep установить на более продолжительное время, то установщик успевает запуститься и установить все.

Добавлено через 21 секунду
но это так себе решение конечно
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
06.12.2018, 16:36
Цитата Сообщение от Phil Посмотреть сообщение
если параметр sleep установить на более продолжительное время, то установщик успевает запуститься и установить все.
PowerShell
1
2
3
4
5
6
7
8
9
Start-Process msiexec.exe -Credential $mycreds -ArgumentList '/i C:\Test\1CEnterprise.msi /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=EN'
 
'Wait Running'
while (-not ($p = Get-Process '1C:Предприятие 8 Тонкий клиент' -EA SilentlyContinue)) {sleep -s 1}
'Wait Ending'
Wait-Process -InputObject $p
'OK'
 
Remove-Item 'C:\Test'-Force -Recurse -ErrorAction SilentlyContinue
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2018, 16:36

Создать архивы файлов некоторой папки, имя которой задано в качестве параметра
Создать командный файл, который создает архивы файлов некоторой папки, имя которой задано в качестве параметра, созданных в текущем году....

Запуск скрипта из сетевой папки
Подскажите пожалуйста, как правильно прописать путь к скрипту в сетевой папке? если я запускаю скрипт локально c:\share\script.ps1, он...

Запуск php-скрипта из папки
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой: пытаюсь выполнить php-скрипт из папки (ajax-запрос через URL), но он...

При запуске sh-скрипта из bat-файла команда clang из sh-скрипта неверно работает
Я запускаю через bat.файл sh.скрипт в котором находится одна команда clang code.c -o code.exe Вот кусок кода из bat C: ...

PHP запуск скрипта(ов) на сервере из моего скрипта
Что я хочу сделать: Запускаю я PHP скрипт у себя на ПК, который запускает скрипт на сервере/нескольких серверах и передает туда некую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru