আমাকে সপ্তাহে একবারে আমার গুগল ড্রাইভে একটি সম্পূর্ণ ফোল্ডারটি নকল করতে হবে। ফোল্ডারে প্রায় 25 টি ফাইল রয়েছে। এটি করার একটি সহজ উপায় কী?
আমাকে সপ্তাহে একবারে আমার গুগল ড্রাইভে একটি সম্পূর্ণ ফোল্ডারটি নকল করতে হবে। ফোল্ডারে প্রায় 25 টি ফাইল রয়েছে। এটি করার একটি সহজ উপায় কী?
উত্তর:
আপনি যদি আপনার পিসিতে গুগল ড্রাইভ অ্যাপ্লিকেশন ব্যবহার করে থাকেন তবে আপনি গুগল ড্রাইভ ডিরেক্টরিতে ফোল্ডারটি অনুলিপি করে আটকে দিতে পারেন এবং এটি এটি অনুলিপি করে। ওয়েব অ্যাপ্লিকেশন থেকে এটি করা সম্ভব বলে আমি বিশ্বাস করি না।
এই সমস্যাটির সমাধান করার জন্য একটি অ্যাপ স্ক্রিপ্ট লিখেছেন। আপনি যে কোনও ফোল্ডার সামগ্রী এবং এর কাঠামোর অনুলিপি করতে পারেন। স্ক্রিপ্ট Google ড্রাইভের ডেস্কটপ অ্যাপ্লিকেশনটির প্রয়োজনীয়তা দূর করতে সহায়তা করবে। ট্রিগার যুক্ত করে আপনি এমনকি প্রক্রিয়াটি স্বয়ংক্রিয় করতে পারেন।
জিড্রাইভ কপি ফোল্ডার কাঠামো / সামগ্রী স্ক্রিপ্ট
দয়া করে নোট করুন:
_copy
সমস্ত সাবফোল্ডারগুলিতে প্রত্যয় যুক্ত করেfolder_you_want_copied_copy
আপনার Google ড্রাইভ সর্বোচ্চ পিতা বা মাতা অনুক্রমের হয়, তাই আপনি যদি আপনার ড্রাইভ একটি subfolder কপি, এটা যখন কপি সর্বোচ্চ পর্যায়ে বুদ্বুদ আপ করবেআপনি যদি গুগল ড্রাইভ ওয়েব ইন্টারফেসে থাকেন ...
একটি নতুন ফোল্ডার তৈরি করুন এবং আপনি যা চান তার নাম দিন।
প্রাক-বিদ্যমান ফোল্ডারে যান, সমস্ত ফাইল নির্বাচন করুন, ডান ক্লিক করুন এবং হিট অনুলিপি করুন।
সমস্ত অনুলিপি নির্বাচন করুন, ডান ক্লিক করুন এবং এতে সরান move নতুন ফোল্ডারটি নির্বাচন করুন।
নোট করুন যে ফোল্ডারটি আপনি অনুলিপি করতে চান তাতে সাবফোল্ডার থাকলে এই পদ্ধতিটি কাজ করবে না।
ওপি-র জন্য খুব দেরি করে দেওয়া উত্তর, এবং আমি জিজ্ঞাসা করার সময় এমনকি সম্ভব না বলে মনে করি, তবে আজ আমি এটিই করছি:
দ্রষ্টব্য: আপনি যখন খুব ছোট ফাইল এবং সাব-ফোল্ডারগুলি একসাথে একটি ছোট ছোট সংকোচিত ফাইলের জন্য তৈরি করেন তখন এটি সমাধান হয়। মোট সংকুচিত ফাইলের আকার বাড়ার সাথে সাথে এর উপযোগিতা হ্রাস পায়।
লাকি 711 এর মতো আমি নিজের স্ক্রিপ্টটি না লিখে আমার ড্রাইভে তৃতীয় পক্ষের অ্যাক্সেসের অনুমতি দেওয়া থেকে বিরত থাকতে পছন্দ করি। ভবিষ্যতের গুগল ফলাফল অ্যাডভেঞ্চারারদের জন্য আমি এটি এখানে রেখেছি। এটি ফোল্ডার এবং এর সমস্ত বিষয়বস্তু অনুলিপি করবে। আমার ব্যবহারের ক্ষেত্রে, আমি অনুলিপি ফোল্ডারটিকে নতুন পিতা-মাতার হিসাবে যুক্ত করে একাধিক পিতামাতার সাথে ফাইলগুলি পরিচালনা করতে এটি লিখেছিলাম। যদি আপনি এটি না চান তবে "সেই পিতামাতাদের গণনা করুন যা এই পিতামাতার নয়" অংশটি ছেড়ে দিন।
function copyFolderAndContentsToFolder(folderToCopyId, newParentFolderId, newFolderName) {
var folderToCopy = DriveApp.getFolderById(folderToCopyId);
var newParentFolder = DriveApp.getFolderById(newParentFolderId);
// Create the copy of the folder
var newFolder = newParentFolder.createFolder(newFolderName);
// Copy all the files in that folder
var files = folderToCopy.getFiles();
while (files.hasNext()) {
var file = files.next();
// Count the parents that aren't this parent
var countOfOtherParents = 0;
var parents = file.getParents();
while (parents.hasNext()) {
var parent = parents.next();
if (parent.getId() !== folderToCopyId) { countOfOtherParents++; }
}
// If it's unique, then copy it. Otherwise, just add it to the new parent.
if (countOfOtherParents == 0) {
file.makeCopy(file.getName(),newFolder);
} else {
newFolder.addFile(file);
}
}
// Copy all the subfolders in that folder
var folders = folderToCopy.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
copyFolderAndContentsToFolder(folder.getId(), newFolder.getId(), folder.getName());
}
}
রেফারেন্সের জন্য, আপনি যদি অন্য পিতা বা মাতা হিসাবে নতুন ফোল্ডারটি যুক্ত করার পরিবর্তে একাধিক পিতা-মাতার সাথে ফাইলগুলির নতুন কপি তৈরি করতে চান তবে সংক্ষিপ্ত কোডটি দেখতে এই রকম হবে:
function copyFolderAndContentsToFolder(folderToCopyId, newParentFolderId, newFolderName) {
var folderToCopy = DriveApp.getFolderById(folderToCopyId);
var newParentFolder = DriveApp.getFolderById(newParentFolderId);
// Create the copy of the folder
var newFolder = newParentFolder.createFolder(newFolderName);
// Copy all the files in that folder
var files = folderToCopy.getFiles();
while (files.hasNext()) {
var file = files.next();
file.makeCopy(file.getName(),newFolder);
}
// Copy all the subfolders in that folder
var folders = folderToCopy.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
copyFolderAndContentsToFolder(folder.getId(), newFolder.getId(), folder.getName());
}
}
1jVlkj------------------------Gk3D7
সমস্ত ড্যাশগুলি চরিত্রগুলি বাদ দেওয়ার মতো like সেই জিব্বিশ স্ট্রিং হ'ল গুগল নির্ধারিত অনন্য আইডি। একবার আপনার তিনটি ইনপুট হয়ে গেলে আপনি এই ফাংশনটিকে অন্য কোনও ফাংশন থেকে এমন কিছু দিয়ে কল করবেনcopyFolderAndContentsToFolder('superLongIdString','anotherLongIdString','NewFolderName')
countOfOtherParents++;
কেবল লাইনটি অনুলিপি করতে পারেন এবং এটি এটি করব। আমার ব্যবহারের ক্ষেত্রে, আমি স্পষ্টতই চেয়েছিলাম যে এই ফাইলগুলি ফাইলের একটি নতুন অনুলিপি তৈরি না করে কেবল অন্য পিতামাতাকে পাওয়া উচিত। যদি আপনি এমন ফাইলগুলি বোঝায় যা হাইপারলিঙ্ক হিসাবে কাজ করে যা অন্য ফোল্ডারগুলি খোলায়, তবে আমি জানতাম না যে আপনি এটি করতে পারেন।
আপনি গুগল স্প্রেডশিটগুলির জন্য " অনুলিপি ফোল্ডার " অ্যাড-অন ব্যবহার করতে পারেন :
Add-ons > Get add-ons
এবং 'অনুলিপি ফোল্ডার' অ্যাড-অন` দেখুন ভিডিও টিউটোরিয়াল ।
বা, এই ফলাফলটি অর্জন করতে এই ক্রোম ওয়েব স্টোর গুগল অ্যাপ স্ক্রিপ্ট ব্যবহার করা যেতে পারে। এটির জন্য গুগল স্প্রেডশিট তৈরির প্রয়োজন নেই।
আমি একাধিক মেশিন ব্যবহার করি এবং সেগুলির উপরে ড্রাইভ অ্যাপ্লিকেশন লাগাতে চাই না তাই সাইটে অনুলিপি করতে নীচের স্ক্রিপ্টটি লিখেছি। এটি কুরুচিপূর্ণ এবং বেসিক তবে এটি কাজ করে। এটি কেবল একটি ফোল্ডার এবং এর ফাইলগুলি অনুলিপি করে, উপ ফোল্ডারগুলি নয়। আমি নিশ্চিত যে উন্নতির কোন জায়গা আছে তাই এটি নিখরচায় বোধ করি এবং এটি উন্নতি করতে পারি তবে আমি আশা করি এটি শুরু থেকেই কমপক্ষে সহায়ক।
নীচে একটি মন্তব্য প্রতি, এটি একটি গুগল অ্যাপস স্ক্রিপ্ট। এটির ব্যবহারের উপায় হ'ল গুগল স্ক্রিপ্টিং অ্যাপ্লিকেশনটি খুলুন, তারপরে সমস্ত কোডটি একটি ফাঁকা স্ক্রিপ্টে অনুলিপি করুন এবং পাস করুন। এর পরে মেনুতে প্রকাশ অপশনটি ক্লিক করুন, তারপরে ওয়েব অ্যাপ্লিকেশন হিসাবে স্থাপন করুন নির্বাচন করুন। তারপরে আপনি সর্বশেষ কোড লিঙ্কটি ক্লিক করতে পারেন বা আপনার ব্রাউজারে URL টি অনুলিপি এবং আটকান। তারপরে, আপনি এমন একটি বাক্স পাবেন যেখানে আপনি ফোল্ডারটি অনুলিপি করতে চান এবং অনুলিপি বোতামটি টাইপ করতে পারেন। এটির দ্বারা আপনার নামকরণ করা ফোল্ডারের একটি অনুলিপি এবং এর মধ্যে থাকা সমস্ত ফাইলের একটি অনুলিপি তৈরি করা উচিত।
দ্রষ্টব্য: এটি উপ-ফোল্ডারগুলি, কেবল ফাইলগুলি অনুলিপি করবে না।
function doGet()
{
// Build UI
// Create UI object
var copyUI = UiApp.createApplication();
// Create Input box referenced later by the name explicitly set below
var userInput = copyUI.createTextBox().setName("textbox1");
//create button
var enterButton = copyUI.createButton("copy");
// add all objects to UI object
copyUI.add(userInput).add(enterButton);
//Create clicke event handeler and add input field to handeler
var clickHandler = copyUI.createServerHandler('onClick')
.addCallbackElement(userInput);
// add handelrer to the copy button
enterButton.addClickHandler(clickHandler);
// instantiate GUI
return copyUI;
}
function onClick(e)
{
// call currently active application/gui
var app = UiApp.getActiveApplication();
//Pass in the value of the e paramater named 'textbox1'
var input = e.parameter.textbox1;
// log value passed in from user input
//Logger.log(input);
// perform file copy
CopyFile(input);
}
function CopyFile(filename)
{
// declaire variables
var newFolder_String;
var newFolder;
var originalFolder;
var fileArray;
var loopCount;
var arrayLength;
var newFile;
// get original folder id
originalFolder = DocsList.getFolder(filename);
Logger.log(originalFolder.getId());
// create new "copy" folder using: createFolder(<filename>_copy)
newFolder_String = filename + "_Copy";
Logger.log(newFolder_String);
newFolder = DocsList.createFolder(newFolder_String);
// get folders and files from original file using:
// getFiles() from original file into an array
fileArray = originalFolder.getFiles();
// Copy files into folder:
arrayLength = fileArray.length;
loopCount = 0;
// looping through array of file
for (loopCount = 0; loopCount < arrayLength; loopCount++)
{
// create file copies using: file[i].makeCopy() and newFile.addToFolder(CopyFolder)
newFile = fileArray[loopCount].makeCopy();
Logger.log(newFile.getName());
newFile.addToFolder(newFolder)
}
}
ফোল্ডারটিকে নকল করতে সিটিআরএল বোতাম ধারণ করে অন্য একটি ফোল্ডারে টেনে আনুন এবং এটিকে নামান।
এটি একটি খুব ভাল গুগল স্ক্রিপ্ট ম্যাক্রোস অ্যাপ্লিকেশন: https://script.google.com/macros/s/AKfycbxbGNGajrxv-HbX2sVY2OTu7yj9VvxlOMOeQblZFuq7rYm7uyo/exec
রিয়েল টাইম লগ এবং ফোল্ডার নির্বাচনকারী সহ।