Копия PowerShell в $ null - PullRequest
       3

Копия PowerShell в $ null

3 голосов
/ 10 октября 2011

В оболочке Windows вы можете извлечь содержимое файла и скопировать его в «\ Device \ Null» с помощью команды, подобной copy c:\filename NUL. (Это полезно для вызова внешних архивированных файлов без потери места или обновления с помощью touch.)

Но я не могу понять, как сделать то же самое в PowerShell, используя $null, NUL, \\.\NUL и более (и я не хочу вызывать отдельный процесс CMD.EXE, чтобы сделать это за каждый файл).

PS C:\> Copy-Item -Path  .\filename -Destination NUL
Copy-Item : Cannot process path 'C:\NUL' because the the target represents a reserved device name.
At line:1 char:10
+ Copy-Item <<<<  -Path  .\filename -Destination NUL
    + CategoryInfo          : WriteError: (C:\NUL:String) [Copy-Item], IOException
    + FullyQualifiedErrorId : CopyError,Microsoft.PowerShell.Commands.CopyItemCommand

PS C:\> Copy-Item .\filename NUL
Copy-Item : Cannot process path 'C:\NUL' because the the target represents a reserved device name.
At line:1 char:10
+ Copy-Item <<<<  .\filename NUL
    + CategoryInfo          : WriteError: (C:\NUL:String) [Copy-Item], IOException
    + FullyQualifiedErrorId : CopyError,Microsoft.PowerShell.Commands.CopyItemCommand

PS C:\> copy .\filename '\\.\NUL'
Copy-Item : Cannot process path '\\.\NUL' because the the target represents a reserved device name.
At line:1 char:5
+ copy <<<<  .\filename '\\.\NUL'
    + CategoryInfo          : WriteError: (\\.\NUL:String) [Copy-Item], IOException
    + FullyQualifiedErrorId : CopyError,Microsoft.PowerShell.Commands.CopyItemCommand

Есть еще идеи, как это сделать?

1 Ответ

4 голосов
/ 11 октября 2011

По сути, вы просто хотите прочитать файл. Если это так, это будет работать:

Get-ChildItem .\filename | Get-Content | Out-Null

Это, вероятно, излишне. Вы можете попробовать:

$File=[system.io.file]::OpenRead(".\filename")
$File.Close()

Это просто открывает файл для чтения (которого может быть достаточно, чтобы вернуть его) и закрывает его снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...