উত্তর:
একটি নথিটি সম্ভবত একাধিক ফোল্ডারে থাকতে পারে তবে আপনি ইউআইয়ের মাধ্যমে সেগুলির একটি তালিকা পেতে পারেন।
নথির শিরোনামের পাশের ফোল্ডার আইকনে ক্লিক করুন। যদি দস্তাবেজটি একটি ফোল্ডারে থাকে তবে আপনি সেই একক ফোল্ডারে একটি আইকন সহ ফোল্ডারের নাম একটি নতুন ট্যাবে ফোল্ডার খুলতে ফোল্ডারে অন্য নথিগুলি এবং বর্তমান নথিটি সরানোর বিকল্পগুলি দেখতে পাবেন:
যদি নথিটি একাধিক ফোল্ডারে থাকে তবে আপনি ফোল্ডারে এটির প্রতিটিটির হাইপারলিংকের সাথে একটি তালিকা পাবেন।
আসুন মাউসের এক ক্লিকে ডকুমেন্টের প্যারেন্ট ফোল্ডারে যাওয়ার উপায় সরবরাহ করুন।
আপনার নথির 'ধারক-সীমাবদ্ধ' স্ক্রিপ্ট সম্পাদকটিতে নীচে স্ক্রিপ্টটি রাখুন। আপনার দস্তাবেজটি খোলার মাধ্যমে এটি করুন এবং তারপরে নথির মেনু বার থেকে, সরঞ্জামগুলি> স্ক্রিপ্ট সম্পাদক নির্বাচন করুন ...
যদি এই নথির স্ক্রিপ্টটি আপনার প্রথমবার সম্পাদনা করা হয়, তবে ডিফল্ট কোড সম্পাদকের পর্দা বিকশিত করবে। কেবলমাত্র নীচের কোড সহ স্ক্রিপ্ট সামগ্রীটি প্রতিস্থাপন করুন। নীচে তালিকাভুক্ত ওপেন () এবং তালিকাভুক্ত পিতাফলক () উভয় অন্তর্ভুক্ত করুন।
সম্পাদকে স্ক্রিপ্টটি সংরক্ষণ করুন এবং তারপরে সম্পর্কিত ডকুমেন্টটি প্রদর্শিত ব্রাউজ উইন্ডোটিকে 'রিফ্রেশ' করুন। ইউটিস নামের দস্তাবেজের জন্য একটি নতুন মেনু আইটেম উপস্থিত হবে। ইউটিস মেনু প্যাডে ক্লিক করা মেনু পপআপ, শো পাথ প্রদর্শন করবে। এই স্ক্রিপ্টটি হাইপারলিংকের একটি তালিকা হিসাবে ডিরেক্টরি পথ প্রদর্শন করবে।
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);
}
id
, সেট source_folder = DriveApp.getFolderById(id)
এবং ব্যবহারের ফোল্ডারের জন্য source_folder.getFilesByType(MimeType.MICROSOFT_POWERPOINT)
বা ...MimeType.MICROSOFT_POWERPOINT_LEGACY
(বা আপনি পরবর্তী মাইম টাইপের স্ট্রিং ব্যবহার করতে পারেন যা পরবর্তী অংশটি মূল্যায়ন করে)। ডক্স এখানে
2014-04-04 পর্যন্ত, কোনও দস্তাবেজ থেকে এরযুক্ত ফোল্ডারে যাওয়ার বেশ কয়েকটি উপায় রয়েছে।
খোলা দস্তাবেজ থেকে নথির শিরোনামের পাশের ফোল্ডার আইকনে ক্লিক করুন। "এই আইটেমটি রয়েছে" এবং এতে থাকা ফোল্ডারের নাম সহ একটি কথোপকথন উপস্থিত হবে। ফোল্ডারের নামটি ফোল্ডারের সাথে যুক্ত রয়েছে instead যদি পরিবর্তে "সরান" ডায়ালগটি উপস্থিত হয়, ডকুমেন্টের ফোল্ডারটি মূল। যদি এটি আপনার নথি হয় বা আপনি স্পষ্টভাবে এটি যুক্ত করেছেন তবে এটি আমার ড্রাইভে। যদি তা না হয় তবে ডকুমেন্ট তালিকার ভিউয়ের বাম দিকে ফোল্ডার তালিকার আরও> সমস্ত আইটেম চেষ্টা করুন।
দস্তাবেজ অনুসন্ধান ভিউ থেকে আইটেমটি নির্বাচন করুন। আরও> বিশদ এবং ক্রিয়াকলাপ> বিশদ> ফোল্ডার। তালিকাভুক্ত যে কোনও ফোল্ডারের নাম সংশ্লিষ্ট ফোল্ডারের সাথে যুক্ত রয়েছে।
২০১৪-১২-২০১৩ খ্রিস্টাব্দ পর্যন্ত, আমি আর এএ ফাইল ভিউ থেকে এর সমন্বিত ফোল্ডারে কীভাবে পাব, সেগুলিতে যেগুলি গুগল ডকুমেন্টগুলির সহযোগী নয় for আপনি যদি জানেন কিভাবে দয়া করে এই উত্তর মন্তব্য বা সম্পাদনা করুন।
আফাইক না, ডকুমেন্ট ইউআরএল বা নথিতে নিজেই এটি করার কোনও উপায় নেই। আপনাকে দস্তাবেজের শিরোনাম দখল করতে হবে এবং এটি আপনার ড্রাইভ তালিকা দর্শনটিতে অনুসন্ধান করতে হবে। অনুসন্ধানের ফলাফলগুলিতে আপনাকে দস্তাবেজের শিরোনাম দেখাতে হবে, তারপরে ধূসর রঙের মধ্যে পিতা বা মাতা ফোল্ডারের নামও প্রদর্শন করা উচিত।
আমি একটি ছোট স্ক্রিপ্ট লিখেছি যা নথির কীটির উপর ভিত্তি করে মূল ফোল্ডারটি পুনরুদ্ধার করে:
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;
}
file>menaged version
স্ক্রিপ্ট সংরক্ষণ করুন।Publish>Deploy as web app
এবং প্রেস আপডেটকেবলমাত্র মূল ফোল্ডারটিই উল্লেখ করা হয়েছে (ঠিক আপনি কী চেয়েছিলেন) তবে এটি পুরো পথটি প্রকাশ করবে না।
আপডেট: গুগল এই এপিআই এর অবসর নিয়েছে তাই সাবধান।
দ্রষ্টব্য: নতুন ড্রাইভ ইউআই ব্যবহার করার জন্য এটি আর দরকার নেই ...
আমি বুঝতে পেরেছি এর জবাব ইতিমধ্যে দেওয়া হয়েছে, তবে অনুসন্ধানের সময় লোকেরা এটি খুঁজে পেতে পারে (আমি করেছি) আমি এতে কিছু যুক্ত করব। আপনি যদি গুগল অ্যাপ স্ক্রিপ্টে নতুন হন তবে এই লিঙ্কটি দেখুন ।
তাদের স্ক্রিপ্টগুলির জন্য @ জ্যাকব জ্যান তুইনস্ট্রা এবং @ ড্রানকে ধন্যবাদ জানাই, তবে আমার প্রয়োজনের মধ্যে তেমন একটিও ছিল না, তাই আমি নিজের তৈরি করতে উভয়কেই ব্যবহার করেছি। নীচের স্ক্রিপ্টটি একটি জিপিএস স্ক্রিপ্ট সম্পাদকের মধ্যে আটকানো দরকার, তারপরে একটি ওয়েব অ্যাপ হিসাবে প্রকাশিত হবে। লিঙ্কটি পুনরায় ব্যবহারের জন্য সংরক্ষণ / বুকমার্ক করা উচিত:
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;
}
ইউআই এর মতো দেখাচ্ছে:
নোট করুন যে কোনও ফাইলের আইডি এর URL থেকে এসেছে - যেমন নীচে URL নমুনায় "<...>" দেখুন:
https://docs.google.com/a/your_domain/spreadsheet/ccc?key=<...>&usp=drive_web#gid=0
এই প্রশ্নের উত্তরগুলিতে ( প্রথম এক এবং দ্বিতীয়টি ) দুটি স্ক্রিপ্টগুলির আরও সম্পূর্ণ এবং নির্ভরযোগ্য বাস্তবায়ন এখানে দেওয়া হল । এই স্ক্রিপ্টটি আপনাকে ডায়ালগের প্রথম সম্পাদনা বাক্সে ফাইল বা ফাইল আইডি এর পুরো URL টি পেস্ট করতে দেয় এবং তারপরে সেই পথের একটি পাঠ্য উপস্থাপনা এবং পিতামহিত ডিরেক্টরিতে একটি লিঙ্ক দেয়। ইনস্টলেশন নির্দেশাবলী জ্যাকব দ্বারা উপরে দেখানো মত একই , আমি সম্পূর্ণতার জন্য তাদের নীচে অনুলিপি।
দ্রষ্টব্য: এই সমস্ত স্ক্রিপ্টগুলিতে ব্যবহৃত কয়েকটি 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;
}
দেখে মনে হচ্ছে:
স্থাপন করা:
গুগল ইতিমধ্যে এর সমাধান সরবরাহ করেছে:
ধরা যাক আপনি myreport.pdf নামে একটি পিডিএফ নথি খুঁজছেন।
আপনি মাইরপোর্টের সন্ধান করুন, আপনি নথির একটি তালিকা পেয়েছেন যা মানদণ্ডগুলি পূরণ করে।
আপনি যে ফোল্ডারটি এটিতে রয়েছে তা জানতে চাইলে, রাইট ক্লিক করুন এবং আমার ড্রাইভে লোকেটে ক্লিক করুন ।