2017-01-14 1 views
1

문서를 편집하는 일괄 처리를 만들고 있지만 편집하려면 해당 위치에 CD를 작성해야합니다. 내가 가지고있는 문제는 이식성을 높이기 위해 파일의 위치를 ​​찾을 수있는 명령이 필요하다는 것입니다.파일의 위치와 CD를 디렉토리에 저장하는 방법은 무엇입니까?

나는 시도했다 :

CD C:\Users\%username%\AppData\Roaming\skype\John 

CD C:\Users\%username%\AppData\Roaming\skype\%foldername%\config.xml 

어떤 방법이 config.xml에와 위치에 도착? %%G 변수를 사용하여 모든 디렉토리를 통해

FOR /D %%G IN ("%APPDATA%\skype\*") DO IF EXIST "%%~fG\config.xml" (
    set correctDir=%%G 
    goto :foundFile 
) 
echo File config.xml not found 
goto :eof 

:foundFile 
cd "%correctDir%" 

FOR /D 반복 :

+0

'CD "C : \ Users \ % username % \ AppData \ Roaming \ skype \ John"'(항상 큰 따옴표로 경로를 둘러보기)가 필요합니다. 어떤 오류 메시지가 표시되는지 또는 어떤 일이 발생하는지 자세히 알려면 더 많은 정보를 얻을 수 있습니다. –

+0

CD에 필요한 폴더는 config.xml이 들어있는 폴더입니다. 그러나이 폴더 이름은 모든 사용자에 대해 변경됩니다. –

+0

'CD C : \ Users \ % username % \ AppData \ Roaming \ skype \ John'에서 시도한 것을 사용하면 어떻게됩니까? –

답변

0

당신과 시도 할 수 있습니다. %%~fG은 %% G의 디렉터에 대한 전체 경로로 확장됩니다.
IF EXIST은 파일이 존재하는지 확인합니다.
goto :eof 스크립트

편집를 종료 : @Compo는 지적 : 이동성 이유는 내장 된 환경 변수 %APPDATA% 대신 C:\Users\%username%\AppData\Roaming OS를 사용하는 것이 좋습니다.

+0

"config.xml 파일을 찾을 수 없습니다"이 명령으로 모든 디렉토리가 검사됩니까? 'C : \ Users \ % username % \ AppName \ AppData \ Roaming \ skype' 내에 하나 이상의 폴더가 있다고합시다. –

+0

skype의 하위 폴더 또는 skype 폴더의 하위 폴더에 있습니까? –

+0

위치는'C : \ Users \ % username % \ AppData \ Roaming \ skype \ John'입니다. –

관련 문제