Копирование и перемещение папок и файлов
В следующем примере, с помощью Powershell, будет скопирован файл ‘C:\data.txt’ в директорию ‘C:\Catalog\’:
Перемещение объектов выполняется так же, но с использованием Move-Item:
Если в перемещаемой папке уже существует файл с этим именем, то мы получим ошибку:
Move-Item : Cannot create a file when that file already exists
Для исправления этой ситуации можно использовать параметр Force или перемещать файл под другим именем. Новое имя можно указать в Destination:
Каталоги переносятся и копируются так же. Знак ‘\’ в конце Destination говорит, что мы хотим перенести папку внутрь указанной. Отсутствие знака ‘\’ говорит, что это новое имя директории:
Path — принимает список, а это значит, что мы можем указывать несколько значений через запятую.
Использование масок для копирования и перемещения
Во многих командах Powershell доступны следующие специальные символы:
- * — говорит, что в этом месте есть неизвестное количество неизвестных символов;
- ? — в этом месте есть один неизвестный символ;
- — в этом месте есть одна из следующих букв A,B,C.
Например так мы скопируем все объекты с расширением ‘txt’ из одной папки в другую:
Перемещение сработает так же.
Предыдущий вариант сработает, если мы ищем файлы в текущей директории. Для копирования в Powershell внутри всех вложенных каталогов нужно использовать рекурсивный поиск, который доступен только в Copy-Item. Рекурсивный поиск устанавливается ключом Recurse. В следующем примере будет найден и скопирован файл hosts. В качестве * я указал один из элементов неизвестного пути:
Дополнительные параметры фильтрации
Если предыдущих примеров, где мы находили файлы с неизвестным название, не достаточно, то можно использовать дополнительные параметры. Они доступны в обеих командах Copy-Item и Move-Item:
- Include — включает объекты с этим упоминанием;
- Exclude — работает аналогично предыдущему, но исключает объекты;
- Filter — включает объекты указанные в этом параметре.
Я не вижу смысла использовать все параметры описанные выше в одной команде, но в них есть отличия. Filter будет работать быстрее, так как он работает и фильтрует данные в момент их получения. Include и Exclude сработают после получения всех файлов, но каждое значение для них можно указывать через запятую
Для Include и Exclude так же важно указывать Path с ‘*’ в конце, например ‘C:\dir\*’
Например мы хотим скопировать все объекты с расширением ‘txt’ и ‘jpg’. Это можно сделать так:
Я бы не рекомендовал использовать Filter в обеих командах. Более удобный способ — это искать файлы с Get-ChildItem, а затем их копировать и перемещать в нужное место. В следующем примере будут перенесены все объекты формата ‘.txt’ и ‘.jpg’ в каталог Directory:
Вам так же будет интересно:
Работа с Hyper-V
Для работы с Hyper-V в Windows PowerShell существует много командлетов, вот небольшой перечень:
- New-VM — создание новой виртуальной машины;
- Set-VM — настройка виртуальной машины;
- Start-VM — запуск виртуальной машины;
- Stop-VM — закрытие, выключение или сохранение виртуальной машины;
- Import-VM — импорт виртуальной машины из файла;
- Move-VM — перемещение виртуальной машины на новый Hyper-V хост;
- Remove-VM — удаление виртуальной машины;
- Rename-VM — переименование виртуальной машины;
- New-VHD — создание одного или нескольких новых виртуальных жестких дисков;
- Set-VHD – настройка виртуального жесткого диска;
- Test-VHD — тестирование виртуального жесткого диска на предмет обнаружения проблем, которые сделали бы его непригодным для использования;
- Add-VMDvdDrive — добавляет DVD диск к виртуальной машине;
- Remove-VMDvdDrive — удаляет DVD-диск из виртуальной машины;
- Add-VMHardDiskDrive — добавляет жесткий диск к виртуальной машине;
- Remove-VMHardDiskDrive — удаляет один или несколько виртуальных жестких дисков (VHD) из виртуальной машины;
- Add-VMNetworkAdapter — добавляет виртуальный сетевой адаптер на виртуальной машине;
- Remove-VMNetworkAdapter — удаляет один или несколько виртуальных сетевых адаптеров из виртуальной машины;
- Copy-VMFile — копирование файлов на виртуальную машину;
- Get-VMVideo – выводит информацию о настройках видео для виртуальных машин;
- Move-VMStorage — перемещение хранилища виртуальной машины.
Step 6: Revert the mailbox to its previous state
-
Changing the deleted item retention period back to its previous value. Alternatively, you can just leave this set to 30 days, the maximum value in Exchange Online.
-
Re-enabling single Item recovery.
-
Re-enabling the client access methods so that the owner can access their mailbox.
-
Reapplying the holds and retention policies that you removed.
Important
Perform the following steps (in the specified sequence) in Exchange Online PowerShell.
-
Run the following command to change the deleted item retention period back to its original value. This assumes that the previous setting is less than 30 days; for example, 14 days.
-
Run the following command to re-enable single item recovery.
-
Reapply the holds that you removed in Step 3. Depending on the type of hold, use one of the following procedures.
Litigation Hold
In-Place Hold
Retention policies applied to specific mailboxes
Organization-wide retention policies
eDiscovery case holds
How do I find and remove empty folders Windows 10?
1. Search for empty folders
- Open This PC.
- Click on the Search Tab to open the Search Menu.
- Set the Size filter to Empty, and be sure that the All subfolder feature is checked.
- After the search ends, it will display all files and folders that do not take up any memory space.
- Select the ones you want to delete, right-click on one of them, and click on Delete.
This first method does not require any software to be installed, but rather is based on a search based on size.
It is very easy to do it because it performs like any other search on the system level. The only difference is a zero byte filter for the storage memory.
2. Clear registry entries using Restoro
Registry cleaners can help you delete redundant items from your computer’s registry, and this includes empty folders as well.
So, if you haven’t installed a registry cleaner on your machine, we strongly recommend you to use Restoro on your Windows 10 PC.
This software is the best choice to remove empty directories, and improve the performance of your computer.
- Download and install Restoro.
- Open it, and let it finish the initial analysis of your PC.
- Select Start repair to perform a full system repair, which also includes empty folders as well.
3. Use Command Prompt
- Press the Windows key, and type cmd.
- In the Command Prompt, type the following commandand pressEnter:
- The EMPTIES.BAT file contains a list with all your folders in reverse order (sorted by the memory used).
- Open the file with Word or any other editor. Word has a Find and Replace feature.
- Search the structure ^p and replace it with ^pRD
- Save the EMPTIES.BAT file, and exit from your editor.
- Run the file, and it will try to delete all the folders that are on that list, but it will fail for the folders with content.
Expert Tip:
This method is a little more difficult to implement but if you follow these steps thoroughly you will be able to do it.
This is how it works:
- For the DIR command, the function /AD selects all the files that have director attribution, in other words, the files that are folders.
- The /B function gives a list with only the file name.
- The /S function tells the PC to also check the subfolders.
- To introduce the SORT command you must enter the | symbol.
- /R function tells the PC to sort the folders in reverse order.
- The symbol > tells the PC to redirect the output of SORT function in the EMPTIES.BAT file.
- Because the sort is in reverse, every subfolder of every folder will be deleted when the parent folder is processed.
This method is a little more complicated compared to the search method, but it is also much more effective because you have access to all the folders in your computer.
4. Make sure you have all the necessary permissions
Sometimes, you may not be able to delete certain folders because you don’t have the necessary permissions. If you didn’t create the respective folders, you may need to ask the owner to delete them.
So, make sure that you’re connected with an Administrator account, and you have all the necessary permissions over the respective folders.
Also, if the folders that you want to delete are currently open in another program, this may explain why you can’t remove them. Close them and then try to delete them again.
There you go, we hope that these quick tips helped to remove empty directories on your Windows 10 PC. For more questions and suggestions, please leave a comment in the section below.
Was this page helpful?
1
MyWOT
Trustpilot
Thank you!
Not enough details
Hard to understand
Other
x
Contact an Expert
There are 3 comments
Как удалить файлы в Microsoft Windows
Пользователи Microsoft Windows могут удалить файл или папку (каталог) разными способами. Ниже приведены наиболее распространенные способы удаления файла или папки.
Пользователи, не знакомые с Windows, должны понимать, что если вы удаляете папку, она удаляет все файлы и папки в этой папке.
Следующие шаги предназначены для удаления одного файла или папки. Однако те же шаги можно выполнить, чтобы удалить несколько файлов или папок, если выбрать более одного файла.
Удалить файл или папку
Найдите элемент, который вы хотите удалить, выделите его, нажав один раз на файл или папку, и нажмите клавишу удаления на клавиатуре. Вы можете найти местоположение файла или папки, используя Мой компьютер или Проводник Windows.
Вы можете удалить несколько файлов или папок, удерживая клавишу Ctrl и щелкая каждый из них перед нажатием «Удалить».
Вы можете удерживать клавишу Shift, одновременно нажимая клавишу удаления, чтобы предотвратить удаление удаляемых файлов в корзину.
Удалить файл или папку, щелкнув правой кнопкой мыши
Откройте Мой компьютер или Проводник Windows. Найдите файл или папку, которую вы хотите удалить, и щелкните по ней правой кнопкой мыши. Выберите опцию удаления из всплывающего меню.
Удалить из меню файла
Откройте Мой компьютер или Проводник Windows, найдите и выберите файл или папку, которую вы хотите удалить, нажмите файл в верхней строке меню и выберите удалять,
Если файл меню не отображается в «Моем компьютере» или в проводнике Windows, нажмите клавишу «Alt», чтобы отобразить строку меню, включая меню «Файл».
Проблемы при удалении
Некоторые файлы и папки могут быть защищены от удаления с помощью шифрования или парольной защиты. В этом случае вас могут попросить ввести пароль для расшифровки или снятия защиты паролем.
Файл может быть установлен как файл только для чтения, то есть он может быть открыт только для просмотра, но его нельзя изменить или удалить. При попытке удалить файл только для чтения вы получите сообщение о том, что файл защищен от записи и не может быть удален. Вам потребуется изменить или написать разрешения, которые будут предоставлены вашей учетной записи пользователя для удаления файла.
Некоторые файлы могут быть удалены только с правами администратора. Чтобы удалить эти файлы, вам понадобятся права администратора на компьютере. Если вы используете рабочий компьютер, сотрудники службы технической поддержки часто являются единственными пользователями с правами администратора на компьютере.
Другой возможной причиной проблем с удалением файла или папки является вирус или заражение вредоносным ПО. Вирусы и вредоносные программы могут препятствовать изменению или удалению файлов или папок. Если это так, вам нужно удалить вирус или вредоносное ПО, чтобы иметь возможность удалить затронутый файл или папку.
Как восстановить удаленный файл или папку
Если вы удалили файл по ошибке, вы можете ознакомиться с нашими шагами о том, как восстановить страницу удаленного файла, для получения дополнительной информации о восстановлении удаленного файла.
Write-Output
Командлет Write-Output отправляет указанный объект по конвейеру следующей команде. Если команда является последней командой в конвейере, объект отображается в консоли.
Write-Output отправляет объекты по основному конвейеру, также известному как «выходной поток» или «конвейер успеха». Чтобы отправить объекты ошибок по конвейеру ошибок, используйте Write-Error.
Этот командлет обычно используется в сценариях для отображения строк и других объектов на консоли. Однако, поскольку поведение по умолчанию заключается в отображении объектов в конце конвейера, обычно нет необходимости использовать командлет. Например,
Get-Process | Write-Output
эквивалентно
Get-Process
Итак, одной из особенностей echo и Write-Output является то, что эти команды не требуются.
Другая особенность — эти команды работают с объектами, поэтому простая строка с запятыми может быть выведена не так, как вы ожидаете.
К примеру, команда
Write-Output 1,2,3
Выведет:
1 2 3
Аналогично:
Write-Output Just a string Just a string
Дело в том, что эти строки расцениваются как объекты, свойства которых перечислены через запятую и каждое новое свойство выводится на отдельной строке. Если вы хотите избежать такого поведения, то просто помещайте строку в одинарные или двойные кавычки.
Пример 1: Получение объекта и вывод его в консоль
$P = Get-Process Write-Output $P
Первая команда получает список процессов, запущенных на компьютере, и сохраняет их в переменной $P.
Вторая команда отображает объекты процесса в $P на консоли.
Пример 2: Передача вывода другому командлету
Write-Output "test output" | Get-Member
Эта команда передаёт строку «test output» командлету Get-Member, который отображает члены класса System.String, демонстрируя, что строка была передана по конвейеру.
Пример 3: Подавление перечисления в выводе
Write-Output @(1,2,3) | Measure-Object
Вывод:
Count : 3 ...
Write-Output @(1,2,3) -NoEnumerate | Measure-Object
Вывод:
Count : 1 ...
Эта команда добавляет параметр -NoEnumerate для обработки коллекции или массива как одного объекта в конвейере.
Другие переменные среды, используемые PowerShell
Сведения о пути
-
пасекст
переменная содержит список расширений файлов, которые Windows рассматриваются как исполняемые файлы. Когда файл скрипта с одним из перечисленных расширений выполняется из PowerShell, сценарий выполняется в текущей консоли или сеансе терминала. Если расширение файла отсутствует в списке, сценарий выполняется в новом сеансе консоли.
Чтобы обеспечить выполнение скриптов для другого языка сценариев в текущем сеансе консоли, добавьте расширение файла, используемое языком сценариев. Например, чтобы выполнить скрипты Python в текущей консоли, добавьте расширение в переменную среды. для Windows поддержки расширения в качестве исполняемого файла необходимо зарегистрировать расширение файла с помощью команд и командной оболочки CMD. PowerShell не имеет прямого метода для регистрации обработчика файлов. Дополнительные сведения см. в документации по команде ftype .
Сценарии PowerShell всегда запускаются в текущем сеансе консоли. Добавлять расширение не требуется .
-
Переменные XDG
на платформах, отличных от Windows, PowerShell использует следующие переменные среды XDG, как определено в спецификации базового каталога XDG.
- XDG_CONFIG_HOME
- XDG_DATA_HOME
- XDG_CACHE_HOME
Функции терминала
Начиная с PowerShell 7,2, можно использовать следующие переменные среды для управления функциями виртуальных терминалов, такими как escape-последовательности ANSI, которые выделяют выходные данные. Поддержку escape-последовательностей ANSI можно отключить с помощью переменных среды TERM или NO_COLOR.
-
ТЕРМИН
Следующие значения изменяют поведение следующим образом:
- -Наборы
- -Наборы
- -Наборы
-
NO_COLOR
Если параметр существует, то устанавливается в виде обычного текста. Дополнительные сведения о переменной среды NO_COLOR см. в разделе https://no-color.org/ .
Step 2: Prepare the mailbox
-
Increase the deleted item retention period to 30 days (the maximum value in Exchange Online) so that items aren’t purged from the Recoverable Items folder before you can delete them in Step 5.
-
Disable single Item recovery so that items won’t be retained (for the duration of the deleted item retention period) after you delete them from the Recoverable Items folder in Step 5.
Perform the following steps in Exchange Online PowerShell.
-
Note
-
Run the following command to increase the deleted item retention period the maximum of 30 days. This assumes that the current setting is less than 30 days.
-
Run the following command to disable single item recovery.
Note
It might take up to 240 minutes to disable single item recovery. Don’t delete items in the Recoverable Items folder until this period has elapsed.
How to delete files in Microsoft Windows
Microsoft Windows users can delete an unwanted file or folder (directory) from a hard drive or external disk drive using many different methods. Below are the more common methods for deleting a file or folder in Microsoft Windows.
Note
Users not familiar with Windows should realize that if you delete a folder or directory, all files and folders in that folder or directory are deleted.
Tip
The steps below are for deleting a single file or folder. However, the user can use the same steps to delete multiple files or folders. For help with selecting multiple files, see: How to select or highlight multiple files and folders.
Delete key
Locate the item you want to delete, highlight it by left-clicking the file or folder with your mouse once, and press the Delete key. You can browse the location of the file or folder using My Computer or Windows Explorer.
Tip
You can delete multiple files or folders by holding down the Ctrl key and clicking each file or folder before pressing Delete.
Tip
You can hold down the Shift key while pressing the Delete key to prevent files from going to the Recycle Bin when deleted.
Delete file or folder by right-clicking
Open My Computer or Windows Explorer. We recommend you make sure the directory or folder is empty before proceeding, unless you intend to delete everything in it. Locate the file or folder you want to delete and right-click it. Choose the Delete option from the pop-up menu.
How to delete from the local disk
Important
The local disk contains files and folders that are imperative for your computer to run correctly. Unless you know what you are deleting, please do not delete any files from this section.
Open My Computer or Windows Explorer. On the left side of the screen, click This PC. On the right side of the screen, locate and double-click the local disk (usually C: or D:). Double-click the folder containing the file you want to delete. Select the file or folder you want to delete, click File in the top menu bar, and select Delete.
How to delete from an external drive
To delete from a USB flash drive, floppy drive, memory card, or external hard drive, open My Computer or Windows Explorer. On the left side of the screen, click This PC. On the right side of the screen, locate and double-click the drive, which is labeled as USB, flash drive, external hard drive, or the manufacturer’s name. Select the file or folder you want to delete, click File in the top menu bar, and select Delete.
Delete from the file menu
Open My Computer or Windows Explorer. Locate and select the file or folder you want to delete, click File in the top menu bar, and select Delete.
Tip
If the File menu is not visible in My Computer or Windows Explorer, press the Alt key to make the menu bar visible, including the file menu.
Problems during delete
Some documents and folders may be protected from deletion through encryption or password protection. In this case, you may be asked for a password to decrypt or remove the password protection.
A file may be set as read-only, meaning the user can only open it for viewing and not modify or delete it. When trying to delete a read-only file, you get a message stating the file is write-protected and cannot be deleted. You need to modify or write permissions to delete the file.
Some files may only be deleted with administrator permissions. To delete these files, you would need to have administrator rights on the computer. If you are using a work computer, the technical support staff often are the only users with administrator rights on the computer.
Another possible cause of problems with deleting a file or folder is a virus or malware infection. Viruses and malware can prevent files or folders from being modified or deleted. If this is the case, you need to remove the virus or malware infection to delete the affected file or folder.
- Unable to delete file: being used by another person or program.
- How do I remove a virus and malware from my computer?
Uninstalling a program
See our uninstalling a program steps for help with uninstalling (deleting) software programs from the computer.
How to uninstall software in Windows.
How to restore a deleted file or folder
If you’ve deleted a file by mistake, you can see our page on how to restore a deleted file for further information on recovering a deleted file.
How to recover missing, lost, or deleted files.
Работа с сетью в Windows PowerShell
Для администрирования сети в Windows PowerShell существуют такие командлеты как:
- Disable-NetAdapter – командлет отключает сетевой адаптер;
- Enable-NetAdapter – данный командлет включает сетевой адаптер;
- Rename-NetAdapter — переименовывает сетевой адаптер;
- Restart-NetAdapter — перезапускает сетевой адаптер;
- Get-NetIPAddress – выводит информацию о конфигурации IP-адреса;
- Set-NetIPAddress — изменяет конфигурацию IP-адреса;
- New-NetIPAddress — создает и настраивает IP-адрес;
- Remove-NetIPAddress — удаляет IP-адрес и его конфигурацию;
- Get-NetRoute — выводит таблицу маршрутизации IP;
- Set-NetRoute — изменяет таблицу маршрутизации IP;
- New-NetRoute — создает запись в таблице маршрутизации IP;
- Remove-NetRoute — удаляет одну или несколько записей (IP маршрутов) из таблицы маршрутизации IP;
- Get-NetIPv4Protocol — выводит информацию о конфигурации протокола IPv4;
- Get-NetIPv6Protocol — выводит информацию о конфигурации протокола IPv6;
- Get-NetIPInterface — выводит информацию о свойствах интерфейса IP;
- Get-NetTCPSetting — показывает информацию о настройках и конфигурации TCP;
- Test-Connection – командлет посылает ICMP пакеты к одному или нескольким компьютерам, т.е. «пингует» компьютеры.
Сохранение и отзыв последних расположений (Push-Location и Pop-Location)
При изменении расположения полезно отслеживать свое предыдущее расположение и иметь возможность вернуться к нему. Командлет в Windows PowerShell создает упорядоченный журнал («стек») путей к каталогам, которые вы открывали, чтобы можно было вернуться на шаг назад по журналу путей к каталогу, используя дополнительный командлет .
Например, Windows PowerShell обычно запускается в корневом каталоге пользователя.
Примечание
Слово стек имеет специальное значение во многих параметрах программирования, включая .NET Framework.
Например, в физическом стеке элементов последний элемент, помещенный в стек, является первым элементом, который можно извлечь из него. Добавление элемента в стек в разговорной речи называется «проталкиванием» элемента в стек. Извлечение элемента из стека в разговорной речи называется «выводом» элемента из стека.
Чтобы передать текущее расположение в стек, а затем переместить его в папку локальных параметров, введите:
После этого можно передать расположение локальных параметров в стек и переместить его в папку Temp, введя следующее:
Чтобы убедиться, что каталоги изменены, введите команду :
После этого можно перейти в последний открытый каталог, введя команду , и проверить изменение, введя команду :
Как и в случае с командлетом , вы можете включить параметр PassThru при вводе командлета , чтобы открыть указанный каталог:
Кроме того, можно использовать командлеты расположения с сетевыми путями. Если у вас есть сервер FS01 с общей папкой Public, можно изменить расположение, введя
или
Для изменения расположения на любой доступный диск можно использовать команды и . Например, если у вас есть локальный дисковод компакт-дисков с буквой диска D, содержащий компакт-диск с данными, вы можете изменить расположение на дисковод компакт-дисков, введя команду .
Если дисковод пуст, вы получите следующее сообщение об ошибке:
Создание файлов и папок
Создание новых элементов осуществляется одинаковым образом всеми поставщиками Windows PowerShell. Если поставщик Windows PowerShell поддерживает более одного типа элементов (например, поставщик Windows PowerShell FileSystem различает каталоги и файлы), необходимо указать тип элемента.
Эта команда создает папку :
New-Item -Path 'C:\temp\New Folder' -ItemType Directory
Эта команда создает пустой файл .
New-Item -Path 'C:\temp\New Folder\file.txt' -ItemType File
Важно!
При использовании параметра Force с командой для создания папки, которая уже существует, она не перезапишет и не заменит папку. Будет просто возвращен имеющийся объект папки. Однако, если использовать в уже имеющимся файле, файл будет полностью перезаписан.
Работа с фоновыми заданиями
В Windows PowerShell есть возможность запускать задачи в фоновом режиме, для того чтобы, не дожидаясь окончания работы команды (для случаев, когда задача выполняется долго), продолжать работать в текущей сессии. Для работы с фоновыми заданиями в PowerShell есть следующие командлеты:
- Start-Job – запустить фоновую задачу;
- Stop-Job – остановить фоновую задачу
- Get-Job – посмотреть список фоновых задач;
- Receive-Job – посмотреть результат выполнения фоновой задачи;
- Remove-Job – удалить фоновую задачу;
- Wait-Job – перевести фоновую задачу на передний план, для того чтобы дожидаться ее окончания.