몇 가지 바로 가기를 이동하기 위해 짧은 배치 프로그램을 작성 중입니다.
문제는 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
이 경우 두 개의 폴더가 생성됩니다: Some
및 settings
. 라는 단일 폴더를 만들려면 Some settings
따옴표를 사용해야 합니다. 일관성을 위해 항상 따옴표를 사용하는 것이 좋습니다. 필수가 아닌 경우에도:
md "Settings"
다음과 같이 전체 경로를 지정할 수도 있습니다.
md "%programdata%\Microsoft\Windows\Start Menu\Programs\System\Settings"
및 하위 폴더 System
는 Settings
일반적으로 존재하지 않으며 둘 다 한 번에 생성됩니다.
추가 읽기
답변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