PowerShell을 사용하여 파일 및 폴더 이동

Marion Paul Kenneth Mendoza 2023년6월20일
  1. PowerShell을 사용하여 파일 또는 폴더가 존재하는지 확인
  2. PowerShell을 사용하여 파일 및 폴더 만들기
  3. PowerShell을 사용하여 파일 및 폴더 이동
PowerShell을 사용하여 파일 및 폴더 이동

파일 및 폴더 이동은 Windows 운영 체제 또는 모든 운영 체제를 사용할 때 기본 작업입니다. 파일이나 폴더를 화면에 드래그 앤 드롭하여 하나씩 또는 대량으로 전송할 수 있지만 많은 특정 파일(예: 특정 파일 형식의 파일)만 이동해야 하는 경우 스크립팅을 고려해야 할 수 있습니다.

이 문서에서는 대량 수정을 위해 PowerShell 스크립팅을 사용하여 파일 및 디렉터리를 이동할 때 몇 가지 필수 cmdlet에 대해 설명합니다.

PowerShell을 사용하여 파일 또는 폴더가 존재하는지 확인

Test-Path 명령은 파일 또는 디렉터리 경로의 존재 여부에 따라 True 또는 False를 반환하는 기본 PowerShell 기본 제공 cmdlet입니다. 단일 파일이 있는지 쿼리해야 하는 경우 Test-Path PowerShell 명령을 사용할 수 있습니다.

시연하려면 현재 작업 디렉토리에 (test.txt) 파일을 만들거나 다른 기존 파일을 선택하십시오. 테스트 파일을 선택했으면 아래 명령을 실행하여 (C:\Temp\PS) 및 파일 이름(test.txt) 경로를 바꿉니다.

Test-Path 명령은 실행될 때 부울 값을 반환합니다.

명령:

Test-Path C:\Temp\PS\test.txt

위의 예에서 명령은 (test.txt) 파일이 존재하는 경우 True 값을 반환합니다. 그렇지 않으면 콘솔에 False 값이 표시됩니다.

PowerShell을 사용하여 파일 및 폴더 만들기

Windows PowerShell New-Item 명령은 파일과 디렉터리를 모두 만듭니다. 다음은 Windows PowerShell New-Item cmdlet을 사용하여 파일과 폴더를 만드는 두 가지 예입니다.

명령:

# Create a Folder
New-Item -ItemType 'Directory' -Name 'C:\Temp\PS'

# Create a File
New-Item -ItemType 'File' -Name 'Test.txt' -Path '.\PS'

PowerShell을 사용하여 파일 및 폴더 이동

PowerShell 파일 이동 명령인 Move-Item cmdlet은 단일 파일 또는 디렉터리를 이동하는 데 사용되며 콘텐츠를 한 위치에서 다음 위치로 빠르게 전송하는 데 도움이 되는 필터링 기능을 제공합니다.

아래 예에서는 이전에 생성한 TestFile.txt 파일을 상위 디렉토리로 이동합니다. .. 구문을 사용하여 현재 위치에서 상위 디렉터리를 나타내고 Windows PowerShell Move-Item 명령을 사용하여 파일을 이동합니다.

명령:

Move-Item -Path '.\TestFile.txt' -Destination '..'

파일을 이동할 수 있을 뿐만 아니라 항목 이동 명령을 사용하여 폴더를 이동할 수도 있습니다.

먼저 이동해야 하는 폴더에 대한 -Path 매개 변수의 값을 지정해야 합니다. -Path 매개변수에서 파일 확장자를 제거했습니다.

명령:

Move-Item -Path '.\PSScripts` -Destination '..'

파일과 폴더를 작업 디렉토리의 직계 상위 폴더가 아닌 폴더로 전송하고 싶을 수 있습니다. 그런 다음 -Destination 매개변수에 사용자 정의 디렉토리를 제공할 수 있습니다.

명령:

Move-Item -Path '.\PSScripts` -Destination 'C:\Temp'

-Destination 매개변수에 제공된 대상 폴더가 존재하지 않으면 스크립트에서 오류가 발생합니다. Move-Item cmdlet을 사용할 때 주의할 점은 대상 디렉터리가 존재하지 않는 경우 새 디렉터리를 만들지 않는다는 것입니다.

이전에 언급한 Test-PathNew-Item 명령을 사용하여 이 문제를 해결할 수 있습니다. 아래 스크립트 블록에서 먼저 대상 경로를 확인하여 존재하는지 확인합니다.

폴더가 없으면 스크립트가 먼저 폴더를 만듭니다. 일단 생성되면 이제 파일 또는 폴더 전송을 시작합니다.

암호:

$current_folder = "C:\Temp\PS"
$new_folder = "C:\PS\PSScripts"

if (Test-Path -path $new_folder) {
    Move-Item -Path $current_folder -Destination $new_folder
}else{
    New-Item -ItemType 'Directory' -Name $new_folder
    Move-Item -Path $current_folder -Destination $new_folder
}
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

관련 문장 - PowerShell File