Bird
Raised Fist0
PowerShellscripting~30 mins

Copy-Item and Move-Item in PowerShell - Mini Project: Build & Apply

Choose your learning style10 modes available
Copy-Item and Move-Item
📖 Scenario: You are organizing files on your computer. You want to copy some files to a backup folder and move others to a different folder for processing.
🎯 Goal: Learn how to use Copy-Item to copy files and Move-Item to move files in PowerShell.
📋 What You'll Learn
Create a list of file names
Create variables for source and destination folders
Use Copy-Item to copy files
Use Move-Item to move files
Print the final list of files in the destination folders
💡 Why This Matters
🌍 Real World
Organizing and managing files is a common task for system administrators and anyone working with many files. Automating copy and move operations saves time and reduces errors.
💼 Career
Knowing how to use PowerShell commands like Copy-Item and Move-Item is essential for IT professionals managing Windows systems and automating file management tasks.
Progress0 / 4 steps
1
Create a list of file names
Create a variable called files and assign it an array with these exact file names: 'report1.txt', 'report2.txt', 'summary.docx'.
PowerShell
Hint

Use @( ) to create an array in PowerShell.

2
Create source and destination folder variables
Create two variables: $sourceFolder with value 'C:\Data\Source' and $backupFolder with value 'C:\Data\Backup'.
PowerShell
Hint

Use single quotes for the folder paths and double backslashes \\ to escape backslashes.

3
Copy files to backup folder
Use a foreach loop with variable $file to iterate over $files. Inside the loop, use Copy-Item to copy each file from $sourceFolder to $backupFolder. Use Join-Path to build full file paths.
PowerShell
Hint

Use Join-Path to combine folder and file names safely.

4
Move files to processing folder and print results
Create a variable $processingFolder with value 'C:\Data\Processing'. Use a foreach loop with variable $file to move each file from $sourceFolder to $processingFolder using Move-Item. Then print the message "Moved: <file>" for each file moved.
PowerShell
Hint

Use Write-Output to print messages in PowerShell.

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