WindowsXP에서는 완벽하게 정상적으로 실행되지만 Windows7에서는 정상적으로 실행되지 않는 배치 스크립트가 있습니다. 다른 폴더에서 내용을 만들고 복사 할 수 있지만 새 폴더에있는 파일의 이름을 바꿀 수는 없습니다 ...windows7을 사용하여 배치 파일의 특정 폴더에 연결할 수 없지만 XP에서는 정상입니다. XP에서는 그 특정 디렉토리에 <path> cd를 사용했습니다.
cd가 작동하지 않습니다 (새 폴더 경로). 실제로는 새 폴더에 연결하지 못했습니다. 폴더 이름을 바꿉니다.
이것은 내가 시도한 것입니다.
@echo off
시작 ::
는 : 명령 프롬프트를 사용자 정의 할 수
:createFolder
set /p folderName= New Folder Name...:
if exist %folderName% goto :error else :yes
: : : : 소스 폴더 경로
set /p fName=Which folder contents are to be copied to the new folder:
를 입력 입력 대상 폴더 경로
set /p path= Location of new folder..:
cd /d %path%
:: CD \ MD %의 경로를 생성하고 새 폴더에 파일을 복사 % \ % 폴더 이름 %
%systemroot%\System32\xcopy "%fName%" "%path%\%folderName%" /e/h/k/s
cd %path%\%folderName%
:: 일괄
이 set /p pathName=Enter The new pattern:
set "number= %pathName%"
set "number=%number:~-8%"
for %%f in (*.xlsx) do (
set "file=%%f"
CALL :renameToNumber
)
:renameToNumber
ren "%file%" %file:~0,-13%%number%.xlsx
:yes
echo The folder %folderName% created successfully!
goto :1
exit
:error
echo The folder %folderName% already exist!
goto :createFolder
exit
CD가 Windows7의에서 일하고 이름 바꾸기 실행 ?? 그렇지 않은 경우 특정 디렉토리에 어떻게 접근합니까? 다른 권한이 필요합니까 ??
배치 파일에서 로컬 변수로 '% path %'를 사용하면 안됩니다. Windows/DOS에서 정규화 된 경로없이 프로그램을 실행할 때 검색 할 폴더를 설정하는 데 사용됩니다. 새 CMD 창을 열고'set path'라고 입력하면 무슨 뜻인지 알 수 있습니다. –
또한 Windows Vista 이상은 권한 사용에 대해 더욱 엄격합니다. 프로세스가 상승 모드에서 실행되지 않는 한 관리자 권한 사용자는 전체 권한을 얻지 못합니다. 이로 인해 소프트웨어에서이 문제를 고려하지 않을 수 있습니다. –
또 다른 문제는 드라이브간에 작동하기 때문에 CD 대신 pushD를 사용해보십시오. 예를 들어, 프롬프트가 현재 다른 드라이브 문자에 있으면 CD C : \ test \가 작동하지 않습니다. – bill