Как легко создавать файлы и папки с помощью Powershell

Управление файлами — важная часть повседневной работы. Вам нужно будет управлять доступом к общим папкам, регулярно выполнять их резервное копирование, а также выполнять другие стандартные операции с файлами и папками в системе Windows. Хорошей новостью является то, что вы можете легко управлять файлами с помощью PowerShell.

Фактически, этот инструмент может сократить объем ручной работы, связанной с управлением файлами. В этой статье TipsMake сосредоточится на том, как создавать файлы и папки в PowerShell.

Как создавать файлы и папки с помощью Powershell?

  1. Создать файл
    1. Создайте файл после двойной проверки имени файла
  2. Перезаписать существующий файл
  3. Записать данные в новый файл
  4. Создать каталог
    1. Использовать исходную оболочку Windows PowerShell
    2. Использование класса .NET Framework
    3. Используйте объект
    4. Используйте функцию md

Создать файл

Чтобы создать новый файл, используйте командлет New. Обычно этот командлет используется для создания любого типа объекта в PowerShell. Все, что вам нужно сделать, это указать тип объекта, который вы хотите создать в этом командлете.

Вот как вы можете создавать файлы или папки в PowerShell с помощью команды New-Item.

New-Item -Path ‘SharedTestFoldertestfile1.txt’ — Файл типа элемента

Приведенная выше команда создаст новый файл с именем testfile1.txt. Здесь Itemtype — это файл, поэтому эта команда создаст его за вас, а содержимое оставит пустым. Другими словами, эта команда создаст для вас пустой текстовый файл.

Создайте файл после двойной проверки имени файла

Теперь, если у вас уже есть файл с таким именем, он будет перезаписан. Поэтому не забудьте дважды проверить имя файла перед созданием. Другой вариант — сделать так, чтобы сценарий автоматически проверял, существует ли другой файл с тем же именем, и будет создавать этот файл только в том случае, если там нет другого файла.

Пример такого сценария показан ниже.

$ filenames = Get-ChildItem SharedTestFolder * .txt | выберите -expand fullname $ filenames -match «testfile1.txt» If ($ filenames -eq ‘False’) {New -Item -Path ‘SharedTestFoldertestfile1.txt’ — ItemType File} else {exit}

Вышеупомянутый сценарий проверит, существует ли файл с таким же именем в том же каталоге, и если это так, он выйдет. В противном случае будет создан новый файл.

Перезаписать существующий файл

Ранее в статье было показано, как избежать перезаписи существующего файла. Но иногда вам нужно перезаписать файл, и это можно сделать с помощью параметра Force.

New-Item -Path ‘SharedTestFoldertestfile1.txt’ — Файл ItemType -Force

Эта команда заставит создать файл и перезаписать существующий, потому что вы сообщаете системе, что знаете, что делаете, и не нуждаетесь в предупреждении или запросе о перезаписанном файле. Хотя это звучит как хорошая идея, всегда есть вероятность, что вы получите ошибку и можете потерять данные, содержащиеся в существующих файлах. Вот почему не рекомендуется злоупотреблять этим параметром преобразования, а если это необходимо, будьте очень осторожны.

Записать данные в новый файл

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

Хорошей новостью является то, что PowerShell имеет встроенную команду Out-File для создания файлов и записи в них данных во время создания.

$ content = «Привет, мир! Это первая строка моего файла.» | out-file -filepath C: temptestfile1.txt

Это создаст файл с именем textfile1.txt в каталоге C: Temp, и он будет содержать ваше сообщение.

Изображение 1: как легко создавать файлы и папки с помощью Powershell

 Записать данные в новый файл

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

Далее мы перейдем к разделу создания каталога.

Создать каталог

Существует 4 способа создания папок в PowerShell, и выбор зависит от ваших потребностей в программировании.

Использовать исходную оболочку Windows PowerShell

Возможно, самый простой способ создать каталог — использовать исходную команду Windows PowerShell. Вы также можете использовать ту же команду, что и при создании файлов для создания папок, и, как вы и предполагали, просто изменить значение ItemType:

New-Item -Path ‘SharedTestFolder’ — Каталог ItemType

Эта команда возвращает объект с именем DirectoryInfo, который имеет режим каталога, время последней записи и длину имени.

Вы даже можете опустить параметр Path и указать имя пути напрямую. Результат будет таким же.

Новый элемент SharedTestFolder — каталог ItemType

Обязательно укажите значение ItemType.

Использование класса .NET Framework

Следующий вариант — создать каталог, используя пространство имен system.io и статический метод CreatDirectory в классе Directory.

Вы можете использовать следующую команду:

[system.io.directory]:: CreateDirectory («SharedTestFolder»)

Предупреждение. Это класс .NET Framework, и его использование в среде Windows PowerShell не рекомендуется. Выбор за вами, и эта команда поможет создать каталог. Как и в предыдущем варианте, команда вернет объект DirectoryInfo со всеми деталями каталога.

Используйте объект

Третий способ — использовать метод Object из Scripting.FileSystemObject. Обратите внимание, что это тот же метод, который используется в VBScript, преимущество которого заключается в том, что его можно быстро и относительно легко использовать для создания каталогов.

$ newdirectory = новый-объект -ComObject scripting.filesystemobject $ newdirectory.CreateFolder (‘SharedTestFolder’)

Эта команда вернет объект, содержащий путь к каталогу и другую информацию.

Используйте функцию md

Последний вариант — создать каталог с помощью функции md. Многие люди находят это удобным, потому что они часто использовали его в командной строке для создания разных папок. Кроме того, синтаксис довольно прост, и вам не нужно упоминать ItemType, потому что одного md достаточно, чтобы сообщить системе, что вы уже создаете каталог.

Используемая команда:

md SharedTestFolder

Эта команда также возвращает объект DirectoryInfo.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *