@malchikmolodoy

Данный формат пути не поддерживается?

Выводит ошибку: Out-File : Данный формат пути не поддерживается.
код:

$date = Get-Date -Format "dd:MM.yyyy HH:mm"
$txt ="C:\scripts\phones" + $date + "_" + ".log"

#функции
#функция отправки данных в тхт
function txtbox ($datetext, $imei)
{
$date = Get-Date -Format "dd.MM.yyyy HH:mm:ss"
$msg = $date + "`t Выдан телефон" + $datetext + "`t IMEI: " + $imei

#Записываем всё в тхт файл
Out-File -FilePath $txt -InputObject $msg -Append -Encoding utf8

}

Все папки действительны.
  • Вопрос задан
  • 799 просмотров
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
двоеточие, так же как и слеш - разделитель пути, а не часть имени.

двоеточние в windows помимо отделения диска от пути ещё и отделяет альтернативные потоки в имени файла. поэтому больше двух двоеточий в пути быть не может. И даже с ними лучше не шутить, потом найдёте совсем не то что ждёте.

И далеко не все команды это поддерживают

Вот сергей кузьмин предложил пример с copy - оно не понимает,
А перенаправление ">" - вполне себе умеет
type D:\someexistingfile > "D:\xxx:yyy" - так сработает и создаст альтернативный поток yyy в файле xxx
но не в powershell, а в родном cmd, ну и winapi

у powershell же есть параметр -stream у [gs]et-content

Но вам явно хотелось иного :)
И в этом случае - не прокатит. используйте дефис или точки
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
На винде нельзя использовать двоеточия в именах файлов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы