Как легко создавать файлы и папки с помощью Powershell
Управление файлами – важная часть повседневной работы. Вам нужно будет управлять доступом к общим папкам, регулярно выполнять их резервное копирование, а также выполнять другие стандартные операции с файлами и папками в системе Windows. Хорошей новостью является то, что вы можете легко управлять файлами с помощью PowerShell.
Фактически, этот инструмент может сократить объем ручной работы, связанной с управлением файлами. В этой статье TipsMake сосредоточится на том, как создавать файлы и папки в PowerShell.
Как создавать файлы и папки с помощью Powershell?
- Создать файл
- Создайте файл после двойной проверки имени файла
- Перезаписать существующий файл
- Записать данные в новый файл
- Создать каталог
- Использовать исходную оболочку Windows PowerShell
- Использование класса .NET Framework
- Используйте объект
- Используйте функцию 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, и он будет содержать ваше сообщение.
Записать данные в новый файл
Таким образом, существуют разные способы создания файла, учитывающие особенности, о которых вы должны помнить.
Далее мы перейдем к разделу создания каталога.
Создать каталог
Существует 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.