해결책

해결책

몇 가지 바로 가기를 이동하기 위해 짧은 배치 프로그램을 작성 중입니다.

문제는 Windows에서 "지정된 파일을 찾을 수 없습니다"라는 메시지를 반환한다는 것입니다.

dir /a나는 이것이 시스템 파일로 간주되거나(사용자 계정이 사소한 수준의 "시스템"을 제어한다고 생각함) 디렉토리 목록에 표시할 필요가 없음에도 숨겨져 있기 때문이라고 생각합니다 .

여기서 무엇을 바꿔야 합니까? 파일 이름/경로는 Windows 탐색기에서 직접 복사했기 때문에 모두 정확합니다.

cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\System
mkdir Settings
cd C:\ProgramData\Microsoft\Windows\Start Menu
dir
move "Default Programs.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\System\Settings"
pause

답변1

해결책

문제는 다음 코드 줄에 있습니다.

move "Default Programs.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\System\Settings"

@Scott이 지적했듯이 대상 경로가 잘못되었습니다. 특히:

Start Menu\System

해당 부분은 다음과 같아야 합니다.

Start Menu\Programs\System

비고

문제를 해결할 수 있었다 하더라도 언급할 만한 다른 사항이 있습니다.

현재 폴더 변경

cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\System

위의 명령은 다음과 같은 드라이브가 아닌 경우 예상대로 작동하지 않습니다 C:.

D:\>cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\System

D:\>mkdir Settings

위의 예에서는 Settings드라이브 루트에 폴더가 생성됩니다 D:. 이를 방지하려면 다음 /d매개변수를 사용하세요.

cd /d C:\ProgramData\Microsoft\Windows\Start Menu\Programs\System

명령 확장이 활성화된 경우 이 cd명령은 공백을 구분 기호로 처리하지 않습니다(기본적으로는 그렇습니다). 어쨌든 따옴표를 사용하는 것이 좋습니다.

cd /d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\System"

하지만 폴더가 드라이브에 C:전혀 저장되지 않을 수도 있습니다. 전체 경로를 하드 코딩하는 대신 다음을 사용할 수 있습니다.%ProgramData% 환경 변수이는 Windows Vista에서 도입되었습니다.

cd /d "%programdata%\Microsoft\Windows\Start Menu\Programs\System"

이전 운영 체제에서는 대신 사용했을 것입니다 %AllUsersProfile%. 변수 이름은 대소문자를 구분하지 않습니다.

폴더 생성

mkdir Settings

입력을 저장하려면 대신 다음을 사용할 수 있습니다 md.

md Settings

cd명령 mkdir과 달리 md공백을 구분 기호로 처리합니다. 다음 명령을 실행한다고 가정해 보겠습니다.

md Some settings

이 경우 두 개의 폴더가 생성됩니다: Somesettings. 라는 단일 폴더를 만들려면 Some settings따옴표를 사용해야 합니다. 일관성을 위해 항상 따옴표를 사용하는 것이 좋습니다. 필수가 아닌 경우에도:

md "Settings"

다음과 같이 전체 경로를 지정할 수도 있습니다.

md "%programdata%\Microsoft\Windows\Start Menu\Programs\System\Settings"

및 하위 폴더 SystemSettings일반적으로 존재하지 않으며 둘 다 한 번에 생성됩니다.

추가 읽기

답변2

항상 경로를 인용하십시오. 이름에 공백이 있는 경로는 인용해야 합니다.

이것을 사용하십시오 :

cd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\System"
mkdir Settings
cd "C:\ProgramData\Microsoft\Windows\Start Menu"
dir
move "Default Programs.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\System\Settings"
pause

관련 정보