Google 문서의 상위 폴더를 보는 방법은 무엇입니까?


91

종종 Google 문서 (광산 또는 조직 공유 문서)에 대한 직접 링크가 있으며 동일한 폴더 내에 저장된 문서를 찾고 싶습니다. 그렇게하려면 문서가있는 폴더를 결정해야합니다.

그렇게 할 수있는 방법이 있습니까?

답변:


72

문서는 여러 폴더에있을 수 있지만 UI를 통해 문서 목록을 얻을 수 있습니다.

문서 제목 옆의 폴더 아이콘을 클릭하십시오. 문서가 단일 폴더에있는 경우 새 탭에서 폴더를 열 수있는 아이콘이있는 폴더 이름, 폴더의 다른 문서 및 현재 문서를 이동하는 옵션이있는 단일 폴더를 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오

문서가 둘 이상의 폴더에있는 경우 각 폴더에 대한 하이퍼 링크가있는 폴더 목록이 표시됩니다.

두 개의 상위 폴더 스크린 샷


16
이 "폴더 아이콘"이 얼마 전에 있었던 것을 기억하지만 지금은 사라졌습니다. 새로운 디자인에서 부모 폴더를 찾는 방법을 아는 사람이 있습니까?
Mike Eng

2
폴더 아이콘이 지금 돌아온 것 같습니다.
Vidar S. Ramdal

4
"이 항목은 다음에 있습니다 :"텍스트가 이제 "폴더 아이콘"을 클릭 한 후 나타나는 대화 상자로 이동했습니다. 불행히도, 생성하지 않은 파일에서는 작동하지 않는 것 같습니다.
Jedidja

14
구글 드라이브의 UI는 엉망이다…
Franck Dernoncourt

3
@Jangari 예, 무의미한 경우 문서가 여러 폴더에 있으면 하이퍼 링크를 얻을 수 있지만 문서가 한 폴더에만 있으면 하이퍼 링크가 없습니다. 이 제품 의견을 Google에 제출해 보시기 바랍니다. 어쩌면 그들은 충분한 피드백을 받으면 그것을 바꿀 것입니다. google.com/tools/feedback/intl/ko
Mike Eng

14

폴더 아이콘이 없습니까?

파일 이름 오른쪽에 작은 폴더가 없으면 File > Document details...최소한 상위 디렉토리 이름을 보도록 선택할 수 있습니다 . 예 :

작은 폴더 아이콘이없는 경우 ...

그리고 당신은 지옥 Waldo가 어디 있는지 찾을 수 있습니다. 나는 세계 2에서 자신을 발견했다!


5

마우스 클릭만으로 문서의 상위 폴더로 이동할 수있는 방법을 제공합니다.

아래의 스크립트를 문서의 '컨테이너 바운드'스크립트 편집기에 배치하십시오. 문서를 연 다음 문서 메뉴 표시 줄에서 도구> 스크립트 편집기 ...를 선택하십시오.

해당 문서의 스크립트를 처음 편집하는 경우 기본 코드가 편집기 화면을 채 웁니다. 스크립트 내용을 아래 코드로 바꾸십시오. 아래에 나열된 onOpen () 및 listParentFolders () 함수를 모두 포함하십시오.

스크립트를 편집기에 저장 한 다음 관련 문서를 표시하는 찾아보기 창을 '새로 고침'하십시오. Utils라는 문서에 대한 새로운 메뉴 항목이 나타납니다. 유틸리티 메뉴 패드를 클릭하면 메뉴 팝업, 경로 표시가 표시됩니다. 이 스크립트는 디렉토리 경로를 하이퍼 링크 목록으로 표시합니다.

function onOpen() {


  // Add a menu with some items, some separators, and a sub-menu.
  DocumentApp.getUi().createMenu('Utils')
      .addItem('Show Path', 'listParentFolders')
      .addToUi();
}




function listParentFolders() {

  var theDocument = DocumentApp.getActiveDocument();

  var docID = theDocument.getId();

  var theFile = DocsList.getFileById(docID);

  var parents = theFile.getParents();

  // No folders
  if ( parents == null ) return;

  var folder = parents[0];

  var folderName = folder.getName();

  var folderURL = folder.getUrl();

  var folders = [[folderName,folderURL]];

  while (folderName != "Root"){

     parents = folder.getParents();

     folder = parents[0];

     folderName = folder.getName();

     folderURL = folder.getUrl();

     folders.unshift([folderName,folderURL]);
  }

  var app = UiApp.createApplication().setTitle("Folder Hierarchy").setHeight(250).setWidth(300);

  var grid = app.createGrid(folders.length, 1).setStyleAttribute(0, 0, "width", "300px").setCellPadding(5);

  var indentNum = 0, link;

  for (var fldCntr = 0; fldCntr < folders.length; fldCntr++){

     folderName = folders[fldCntr][0];

     folderURL = folders[fldCntr][1];

     link = app.createAnchor(folderName, folderURL).setId("id_" + fldCntr).setStyleAttribute("font-size", "10px");

     grid.setWidget(indentNum, 0, link);

     indentNum += 1;
  }

  app.add(grid);

  DocumentApp.getUi().showSidebar(app);
}

내 문서가 Google 드라이브의 PowerPoint (Google 앱이 아닌) 파일 인 경우 어떻게합니까?
Fuhrmanator

@Fuhrmanator는 DocumentApp가 아닌 DriveApp API를 사용하여 액세스하며, 각 파일에는 고유 파일 ID뿐만 아니라 찾을 수있는 드라이브에 MIME 유형 (파일 유형)이 있습니다.
Louis Maddox

특히, 알려진 id id, set source_folder = DriveApp.getFolderById(id)및 use 폴더의 경우 source_folder.getFilesByType(MimeType.MICROSOFT_POWERPOINT)또는 ...MimeType.MICROSOFT_POWERPOINT_LEGACY후자 부분이 평가하는 실제 mime 유형 문자열을 사용할 수 있습니다. 여기에서 문서
Louis Maddox

5

2014-04-04 현재 문서에서 포함 폴더로 가져 오는 방법에는 두 가지가 있습니다.

열린 문서에서 문서 제목 옆의 폴더 아이콘을 클릭하십시오. "이 항목이 있습니다"및 폴더 이름이 포함 된 대화 상자가 나타납니다. 폴더 이름이 폴더에 연결되어 있습니다. 대신 "이동"대화 상자가 나타나면 문서의 포함 폴더가 루트입니다. 문서이거나 명시 적으로 추가 한 경우 내 드라이브에 있습니다. 그렇지 않은 경우 문서 목록보기의 왼쪽에있는 폴더 목록에서 추가> 모든 항목을 시도하십시오.

문서 검색보기에서 항목을 선택하십시오. 추가> 세부 사항 및 활동> 세부 사항> 폴더. 나열된 폴더 이름은 해당 폴더에 연결됩니다.

2014-12-03 현재 공동 작업 Google 문서가 아닌 파일의 경우 파일보기에서 포함 폴더로가는 방법을 더 이상 알 수 없습니다. 방법을 아는 경우이 답변에 댓글을 달거나 수정하십시오.


2

AFAIK 아니요, 문서 URL 또는 문서 자체에서이를 수행 할 수있는 방법이 없습니다. 문서 제목을 잡고 드라이브 목록보기에서 검색해야합니다. 검색 결과에 문서 제목이 표시되고 부모 폴더의 이름도 회색으로 표시됩니다.


방법에 대한 반올림이지만 해결책입니다. 감사!
Claus

1
부모 폴더 이름이 고유 한 경우에만 유용합니다. 항상 그런 것은 아닙니다.
Fuhrmanator

@Fuhrmanator 부모 폴더 이름이 고유하지 않은 경우에도 여전히 유용합니다. 모든 폴더를 검색하면됩니다 (폴더 수가 많으면 여전히 어려울 수 있음).
ThomasW

1

부모 폴더

문서의 키를 기반으로 부모 폴더를 검색하는 작은 스크립트를 작성했습니다.

function doGet() {
  // create app and grid
  var app = UiApp.createApplication(); 
  var grid = app.createGrid(4,2);    

  // set labels for first column
  grid.setWidget(0, 0, app.createLabel("Add document key: ")
    .setStyleAttribute('fontWeight', 'bold'));
  grid.setWidget(2, 0, app.createLabel("Parent Folder: ")
    .setStyleAttribute('fontWeight', 'bold'));

  // set text boxes for second column
  grid.setWidget(0, 1, app.createTextBox().setId("key")
    .setName("key").setWidth(500));
  grid.setWidget(2, 1, app.createTextBox().setId("path")
    .setName("path").setWidth(500));

  // create button and handler
  grid.setWidget(3, 0, app.createButton("PATH")
    .addClickHandler(app.createServerHandler("getPath")
    .addCallbackElement(grid)));

  // add grid to application and show app
  app.add(grid);
  return app;
}

function getPath(e) {
  // get active application and key
  var app = UiApp.getActiveApplication();
  var key = e.parameter.key;  

  // Get file and path
  var path;
  try {
    var file = DocsList.getFileById(key);
    path = file.getParents()[0].getName(); 
  } catch(e) {
    path = "file not found";
  }

  // add path to application and update app
  app.getElementById("path").setValue(path);
  return app;
}

이렇게 생겼어요

여기에 이미지 설명을 입력하십시오

설치하기 위해서

  1. 로그인 한 상태에서 goto script.google.com
  2. 새로운 스크립트를 시작
  3. 코드를 붙여넣고 버그 아이콘을 누르십시오. 언론 승인.
  4. 아래 것은 file>menaged version스크립트를 저장합니다.
  5. 가서 Publish>Deploy as web app업데이트를 누릅니다
  6. 제시된 URL (끝 부분에 실행)을 사용하면 독립형 스크립트를 실행할 수 있습니다.

노트

상위 폴더 만 언급되었지만 (정확하게 원하는 것) 전체 경로는 공개되지 않습니다.


1

업데이트 : Google 은이 API를 폐기 했으므로 조심하십시오.

참고 : 새로운 드라이브 UI를 사용하면 더 이상 필요하지 않습니다.

  1. 문서 목록을 검색하거나 찾을 때 찾은 파일을 하이라이트하십시오.
  2. 오른쪽 상단의 [i] (정보) 버튼을 클릭하십시오
  3. "세부 사항"을 클릭하십시오 (기본 "활동")
  4. 공유 및 공유 위치 등이 표시됩니다.

나는 이것이 이미 답변되었다는 것을 깨달았지만 사람들이 검색하는 동안 그것을 찾은 경우에 대비하여 내가 그것에 추가 할 것입니다. Google App Script를 처음 사용하는 경우이 링크를 참조하십시오 .

@Jacob Jan Tuinstra와 @Drawn 덕분에 스크립트가 필요했지만 어느 것도 필요한 것이 아니기 때문에 두 가지를 모두 사용하여 광산을 만들었습니다. 아래 스크립트는 GApps 스크립트 편집기에 붙여 넣은 다음 웹앱으로 게시해야합니다. 나중에 재사용 할 수 있도록 링크를 저장 / 북마크해야합니다.

function doGet() {

  // create app and grid
  var app = UiApp.createApplication(); 
  var grid = app.createGrid(4,2);    

  // set labels for first column
  grid.setWidget(1, 0, app.createLabel("Document's key: ")
    .setStyleAttribute('fontWeight', 'bold'));
  grid.setWidget(2, 0, app.createLabel("Folder Path: ")
    .setStyleAttribute('fontWeight', 'bold'));

  // set text boxes for second column
  grid.setWidget(1, 1, app.createTextBox().setId("key")
    .setName("key").setWidth(500));
  grid.setWidget(2, 1, app.createTextBox().setId("path")
    .setName("path").setWidth(500));

  // create button and handler
  grid.setWidget(3, 0, app.createButton("Find")
    .addClickHandler(app.createServerHandler("listParentFolders")
    .addCallbackElement(grid)));

  // add grid to application and show app
  app.add(grid);
  return app;
}


function listParentFolders(e) {

  var app  = UiApp.createApplication(); 
  var path = '';

  var key     = e.parameter.key;  
  var theFile = DocsList.getFileById(key);
  var parents = theFile.getParents();

  // No folders
  if ( parents == null ) {
    app.getElementById("path").setValue('unknown');
    return app;
  }
  var folder     = parents[0];
  var folderName = folder.getName();
  var folders    = [[folderName]];

  try {
    folderName = parents[0].getName();
  }
  catch(error)
  {
    app.getElementById("path").setValue('(unknown - shared document)');
    return app; 
  }

  while (folderName != "Root"){

    parents    = folder.getParents();
    folder     = parents[0];
    folderName = folder.getName();

    // we are going in reverse - build list in other direction
    folders.unshift([folderName]);
  }

  // built path list
  var indentNum = 0;
  for (var fldrCntr = 0; fldrCntr < folders.length; fldrCntr++){

    folderName = folders[fldrCntr][0];
    if(fldrCntr == 0) {
      path  = 'My Drive';  // ...instead of 'Root'
    } else {
      path += ' / ' + folderName;
    }

    indentNum += 1;
  }

  app.getElementById("path").setValue(path);

  return app;
}

UI는 다음과 같습니다. 스크립트 UI

파일의 ID는 해당 URL에서 가져옵니다. 즉, 아래 URL 샘플에서 "<...>"를 참조하십시오.

https://docs.google.com/a/your_domain/spreadsheet/ccc?key=<...>&usp=drive_web#gid=0

정확히 내가 필요한 것; 안타깝게도 Google은 2014 년 12 월 11 일에 UiApp을 더 이상 사용하지 않으므로 어느 시점에서 다시 작성해야합니다. 그것은 클라우드 서비스의 문제입니다. 오랫 동안 아무 것도 효과가 없으며, 당신은 그들의 자비에 있습니다.
Ed Randall

네, 사실 @EdRandall입니다. 나는 이것을 원래의 thx
kgingeri

1

이 질문에 대한 답변 ( 첫 번째두 번째 ) 에서 두 스크립트를보다 완벽하고 안정적으로 구현합니다 . 이 스크립트를 사용하면 파일의 전체 URL 또는 파일 ID를 대화 상자의 첫 번째 편집 상자에 붙여 넣은 다음 경로의 텍스트 표현과 상위 디렉토리에 대한 링크를 반환 할 수 있습니다. 설치 지침은 Jacob 에 의해 위에 표시된 것과 동일하며 , 완전성을 위해 아래에 복사했습니다.

참고 :이 모든 스크립트에 사용 된 일부 API는 이제 사용되지 않습니다. 그들은이 게시물이 작성된 시점에서 여전히 작동하지만 앞으로는 작동을 멈출 것입니다.

//
// Take a Google Drive file URL or ID and output a string representation of the path as well as a link
// to the parent folder
//
// Based on https://webapps.stackexchange.com/questions/43881/how-to-view-the-parent-folder-of-a-google-document

function doGet() {
  // create app and grid
  var app = UiApp.createApplication(); 
  var grid = app.createGrid(5,2);    

  // set labels for first column
  grid.setWidget(1, 0, app.createLabel("URL or file ID: ").setStyleAttribute('fontWeight', 'bold'));
  grid.setWidget(2, 0, app.createLabel("Folder Path: ").setStyleAttribute('fontWeight', 'bold'));
  grid.setWidget(3, 0, app.createLabel("Folder URL: ").setStyleAttribute('fontWeight', 'bold'));

  // set text boxes for second column
  grid.setWidget(1, 1, app.createTextBox().setId("key").setName("key").setWidth(1000));
  grid.setWidget(2, 1, app.createTextBox().setId("path").setName("path").setWidth(1000));
  grid.setWidget(3, 1, app.createAnchor("","").setId("url").setName("url").setWidth(1000));

  // create button and handler
  grid.setWidget(4, 0, app.createSubmitButton("Find")
    .addClickHandler(app.createServerHandler("listParentFolders")
    .addCallbackElement(grid)));

  // add grid to application and show app
  app.add(grid);
  return app;
}

//
// getIdFromUrl - Get the file id portion of the url.  If the file id itself is passed in it will match as well
//
// From http://stackoverflow.com/questions/16840038/easiest-way-to-get-file-id-from-url-on-google-apps-script
// This regex works for any google url I've tried: Drive url for folders and files, Fusion Tables, Spreadsheets,
// Docs, Presentations, etc. It just looks for anything in a string that "looks like" a Google key. That is, any
// big enough string that has only (google key) valid characters in it.
//
// Also, it works even if it receives the ID directly, instead of the URL. Which is useful when you're asking
// the link from the user, as some may paste the id directly instead of the url and it still works.

function getIdFromUrl(url) {
  return url.match(/[-\w]{25,}/);
}

function listParentFolders(e) {
  var app      = UiApp.createApplication(); 
  var key      = getIdFromUrl(e.parameter.key);
  var theFile  = DriveApp.getFileById(key);
  var parents  = theFile.getParents();
  var fileName = theFile.getName();

  // no folders
  if ( parents == null ) {
    app.getElementById("path").setValue('Unknown file');
    return app;
  }

  var url;
  var folder;
  var folderName;
  var path;

  // traverse the list of parents of folders to build the path
  while (parents.hasNext()){
    folder     = parents.next();
    folderName = folder.getName();

    // on the first pass get the URL of the folder which is the parent folder of the file
    if (url == null)
      url = folder.getUrl();

    // build up a string version of the path
    if (path == null)
      path = folderName;
    else
      path = folderName + ' / ' + path;

    // get the parent of the current folder
    parents = folder.getParents();
  }

  app.getElementById("path").setValue(path);
  app.getElementById("url").setHref(url).setText(url);

  return app;
}

다음과 같이 보입니다 :

상위 폴더 UI 찾기

설치하기 위해서:

  1. 로그인 한 상태에서 goto script.google.com
  2. 새로운 스크립트를 시작
  3. 코드를 붙여넣고 버그 아이콘을 누르십시오. 언론 승인.
  4. 파일> 관리 버전에서 스크립트를 저장하십시오.
  5. 게시> 웹앱으로 배포로 이동하고 업데이트를 누릅니다.
  6. 제시된 URL (끝 부분에 실행)을 사용하면 독립형 스크립트를 실행할 수 있습니다.

1
참고 사항 : "위"는 답변에 다른 방식으로 정렬 될 수 있으므로 실제로 답변에 컨텍스트가 없습니다. 당신이 말하는 답변에 연결하는 것이 좋습니다.
ale

감사합니다 Al, 저는 StackExchange를 처음 사용합니다. "위"참조를 제거하고 대신 링크를 사용했습니다.
Greg L.

-2

Google은 이미 다음과 같은 솔루션을 제공했습니다.

myreport.pdf라는 pdf 문서를 찾는다고 가정하겠습니다.

myreport를 검색하면 기준을 만족하는 문서 목록이 나타납니다.

폴더를 알고 싶다면 마우스 오른쪽 버튼을 클릭하고 내 드라이브 에서 찾기를 클릭하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.