Bird
Raised Fist0
PowerShellscripting~5 mins

Copy-Item and Move-Item in PowerShell

Choose your learning style10 modes available
Introduction

Copy-Item and Move-Item help you copy or move files and folders easily. They save time by automating these tasks.

You want to back up important files to another folder.
You need to organize files by moving them to different folders.
You want to duplicate a file before editing it.
You want to clean up a folder by moving files elsewhere.
You want to copy files from one computer to another using a script.
Syntax
PowerShell
Copy-Item -Path <source> -Destination <target> [-Recurse]
Move-Item -Path <source> -Destination <target>

-Path is the file or folder you want to copy or move.

-Destination is where you want the file or folder to go.

Examples
Copies a single file to the Backup folder.
PowerShell
Copy-Item -Path C:\Docs\file.txt -Destination C:\Backup\file.txt
Copies the entire Photos folder and its contents to BackupPhotos.
PowerShell
Copy-Item -Path C:\Photos -Destination D:\BackupPhotos -Recurse
Moves a file from Temp to Archive folder.
PowerShell
Move-Item -Path C:\Temp\oldfile.txt -Destination C:\Archive\oldfile.txt
Sample Program

This script shows the files in TestFolder, copies file1.txt to a new file, then moves that new file to a different name. It prints the folder contents before and after each step.

PowerShell
Write-Output "Before copy:"
Get-ChildItem -Path .\TestFolder

Copy-Item -Path .\TestFolder\file1.txt -Destination .\TestFolder\CopyOfFile1.txt

Write-Output "After copy:"
Get-ChildItem -Path .\TestFolder

Move-Item -Path .\TestFolder\CopyOfFile1.txt -Destination .\TestFolder\MovedFile1.txt

Write-Output "After move:"
Get-ChildItem -Path .\TestFolder
OutputSuccess
Important Notes

Use -Recurse with Copy-Item to copy folders and all their contents.

Move-Item deletes the original file after moving it.

If the destination file exists, Copy-Item and Move-Item will overwrite it without prompting by default. Use -Force to ensure overwriting without errors.

Summary

Copy-Item duplicates files or folders to a new location.

Move-Item moves files or folders, removing them from the original place.

Both commands help automate file management tasks quickly and safely.

Practice

(1/5)
1. What does the PowerShell command Copy-Item do?
easy
A. Duplicates files or folders to a new location without removing the original
B. Deletes files or folders permanently
C. Moves files or folders to a new location and deletes the original
D. Renames files or folders in the current location

Solution

  1. Step 1: Understand the purpose of Copy-Item

    Copy-Item creates a copy of the specified file or folder at a new location, leaving the original intact.
  2. Step 2: Compare with other commands

    Unlike Move-Item, Copy-Item does not remove the original file or folder.
  3. Final Answer:

    Duplicates files or folders to a new location without removing the original -> Option A
  4. Quick Check:

    Copy-Item = Duplicate without deleting original [OK]
Hint: Copy-Item duplicates; Move-Item moves and deletes original [OK]
Common Mistakes:
  • Confusing Copy-Item with Move-Item
  • Thinking Copy-Item deletes the original file
  • Assuming Copy-Item renames files
2. Which of the following is the correct syntax to move a file named report.txt from C:\Docs to D:\Backup in PowerShell?
easy
A. Copy-Item -Source 'C:\Docs\report.txt' -Target 'D:\Backup'
B. Move-Item -Path 'C:\Docs\report.txt' -Destination 'D:\Backup'
C. Move-Item -Source 'C:\Docs\report.txt' -Target 'D:\Backup' -Force
D. Copy-Item -Path 'C:\Docs\report.txt' -Destination 'D:\Backup'

Solution

  1. Step 1: Identify the correct command for moving files

    Move-Item is used to move files; Copy-Item copies files.
  2. Step 2: Check the correct parameter names

    Move-Item uses -Path for source and -Destination for target location.
  3. Final Answer:

    Move-Item -Path 'C:\Docs\report.txt' -Destination 'D:\Backup' -> Option B
  4. Quick Check:

    Move-Item syntax = -Path and -Destination [OK]
Hint: Use Move-Item with -Path and -Destination to move files [OK]
Common Mistakes:
  • Using Copy-Item instead of Move-Item to move files
  • Using incorrect parameter names like -Source or -Target
  • Omitting quotes around paths with backslashes
3. What will be the result of running this PowerShell code?
Copy-Item -Path 'C:\Temp\file1.txt' -Destination 'C:\Backup' -Force
Move-Item -Path 'C:\Temp\file2.txt' -Destination 'C:\Backup'
medium
A. file1.txt is copied to C:\Backup; file2.txt is moved to C:\Backup and removed from C:\Temp
B. Both file1.txt and file2.txt are copied to C:\Backup; originals remain in C:\Temp
C. file1.txt is moved to C:\Backup; file2.txt is copied to C:\Backup
D. Both commands will fail due to missing parameters

Solution

  1. Step 1: Analyze Copy-Item command

    Copy-Item copies file1.txt to C:\Backup; -Force overwrites if exists; original remains.
  2. Step 2: Analyze Move-Item command

    Move-Item moves file2.txt to C:\Backup and deletes it from C:\Temp.
  3. Final Answer:

    file1.txt is copied to C:\Backup; file2.txt is moved to C:\Backup and removed from C:\Temp -> Option A
  4. Quick Check:

    Copy-Item copies; Move-Item moves and deletes original [OK]
Hint: Copy-Item keeps original; Move-Item removes original [OK]
Common Mistakes:
  • Assuming Move-Item copies instead of moves
  • Thinking Copy-Item deletes original file
  • Confusing -Force parameter effects
4. You run this command but get an error:
Move-Item -Path 'C:\Data\file.txt' -Destination 'C:\Archive\file.txt'

What is the most likely cause?
medium
A. The destination path includes the filename, causing a conflict
B. Move-Item cannot move files between drives
C. Move-Item requires the -Force parameter to work
D. The source file does not exist or path is incorrect

Solution

  1. Step 1: Check if source file exists

    Move-Item fails if the source file path is wrong or file missing.
  2. Step 2: Understand destination path usage

    Destination can include filename; this is valid and not an error cause.
  3. Final Answer:

    The source file does not exist or path is incorrect -> Option D
  4. Quick Check:

    Missing source file causes Move-Item error [OK]
Hint: Verify source file exists before moving [OK]
Common Mistakes:
  • Assuming destination filename causes error
  • Thinking Move-Item can't move across drives
  • Believing -Force is always required
5. You want to move all .log files from C:\Logs to D:\OldLogs, but keep a copy of the latest log file in C:\Logs. Which PowerShell commands achieve this?
hard
A. Copy-Item -Path 'C:\Logs\*.log' -Destination 'D:\OldLogs'; Move-Item -Path 'C:\Logs\*.log' -Destination 'D:\OldLogs' -Exclude 'latest.log'
B. Move-Item -Path 'C:\Logs\*.log' -Destination 'D:\OldLogs'; Move-Item -Path 'D:\OldLogs\latest.log' -Destination 'C:\Logs'
C. Move-Item -Path 'C:\Logs\latest.log' -Destination 'D:\OldLogs'; Move-Item -Path 'C:\Logs\*.log' -Destination 'D:\OldLogs' -Exclude 'latest.log'
D. Move-Item -Path 'C:\Logs\*.log' -Destination 'D:\OldLogs' -Exclude 'latest.log'; Copy-Item -Path 'C:\Logs\latest.log' -Destination 'C:\Logs'

Solution

  1. Step 1: Move latest.log first

    Move-Item moves latest.log to D:\OldLogs, removing it from C:\Logs.
  2. Step 2: Move all other .log files excluding latest.log

    Move-Item moves all other .log files to D:\OldLogs, excluding latest.log which is already moved.
  3. Final Answer:

    Move-Item -Path 'C:\Logs\latest.log' -Destination 'D:\OldLogs'; Move-Item -Path 'C:\Logs\*.log' -Destination 'D:\OldLogs' -Exclude 'latest.log' -> Option C
  4. Quick Check:

    Moving latest.log first then moving others excluding latest.log moves all logs correctly [OK]
Hint: Move latest.log first, then move others excluding latest.log [OK]
Common Mistakes:
  • Copying all files first losing latest.log
  • Moving latest.log to wrong folder
  • Using -Exclude incorrectly or in wrong command
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard