আমি কিভাবে ভাগ করা ফোল্ডার থেকে সম্পূর্ণরূপে যোগ্য ফাইল তালিকা পেতে পারি?


2

আমি একটি ভাগ করা ফোল্ডারে (তাদের সম্পূর্ণ পাথের নামের সাথে) ফাইলগুলির তালিকা পেতে চেষ্টা করছি - উদাহরণস্বরূপ, এর পরিবর্তে

File1.txt 

File2.txt

উপর \\sharename\foldername, আমি পেতে চেষ্টা করছি:

D:\something\foldername\File1.txt

D:\something\foldername\File2.txt

এই প্রশ্নটির উত্তর (কীভাবে উইন্ডোতে ভাগের সম্পূর্ণ যোগ্য পথটি পেতে হয়) সহায়ক ছিল এবং WMIC ব্যবহার করে শেয়ারের জন্য প্রকৃত ড্রাইভ পথগুলি কীভাবে পেতে হয় তা দেখায়। তবে আরো তথ্যের জন্য আমি আরও কিছু করতে চাই শেয়ারের মধ্যে ফাইল। দ্রষ্টব্য- শেয়ারটি স্থানীয়ভাবে অ্যাক্সেস করা হবে, তবে একাধিক ড্রাইভ অক্ষর রয়েছে এবং আমি স্ক্রিপ্টের যে কোনও পাথ হার্ড-কোডিং এড়ানোর চেষ্টা করছি।


আপনি কি ব্যবহার করছেন? VB স্ক্রিপ্ট? JScript? শক্তির উৎস? পাইথন? সি শার্প?
সার্ফাসব

ঠিক এখন শুধু একটি প্লেইন পুরানো ব্যাচ ফাইল, কিন্তু পরিবর্তে powerhell ব্যবহার করতে পারে। অবশেষে এটি একটি SQL সার্ভার এজেন্টের কাজ হবে যা নেটব্যাকআপকে একটি ভাগ করা ফোল্ডারে টেপ ধাক্কা শুরু করতে দেয় (ড্রাইভ লেটার উল্লেখ না করে) - নেটব্যাকআপের সাথে ভাগ করা ফোল্ডারগুলি ব্যবহার করে উইন্ডোজ সার্ভার 2008 এর মধ্যে সূক্ষ্ম কাজ করে কিন্তু 2008 R2 তে কাজ করে না। শেয়ারকৃত ফোল্ডারে সম্পূর্ণরূপে যোগ্য ফাইল পাথ / নামগুলির তালিকা সহ একটি পাঠ্য ফাইল তৈরি করার চিন্তাভাবনা করে এবং তারপরে কী ব্যাক আপ করতে হবে তার তালিকা হিসাবে সেটি ব্যবহার করে।
এমিলি

উত্তর:


4

আপনার যদি PowerShell ইনস্টল করা থাকে তবে আপনি করতে পারেন:

get-childitem \\share\drive -Recurse| foreach-object -process { $_.FullName }

ধন্যবাদ! যে সাহায্য করে। এই ক্ষেত্রে আমি "\\ SID \ SID_Backup \" নামক একটি ভাগ ব্যবহার করছি এবং এটির স্থানীয় পথটি হল "বি: \ SID_Backup \" - অনুমান করে যে এটি বি ড্রাইভ ছিল না, আপনি কি জানেন যদি এটি সম্ভব \\ share \ drive এর পরিবর্তে ড্রাইভ লেটার দিয়ে ফাইল পাথগুলি ফেরত পাঠাতে?
এমিলি

0

এটি VBscript কাজ পেতে পরিচালিত, কিন্তু ক্ষমতাশালী পছন্দ করা হবে। আমি আগে VBscript সঙ্গে কাজ না করেছি, তাই হ্যাঁ এটা সম্ভবত অদক্ষ এবং নোংরা।

ইনপুট \ ফোল্ডার \ ফোল্ডার \ ভাগ করে এবং এটি সেই ফোল্ডারে ফাইলগুলির একটি তালিকা তৈরি করে।

    Dim Arg 
    Set Arg = WScript.Arguments

    strPath = WScript.Arguments(0)
    strPath = Replace(strPath, "\\", "")
    arrPath = Split(strPath, "\")
    strComputer = arrPath(0)
    strShare = arrPath(1)
    strFolder = arrPath(2)

    strPath0 = WScript.Arguments(0)
    sDate = Replace(Date, "/", "-") 
    filename = strPath0 & "\BackupFileList-" & sDate & ".txt"

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile(filename, ForAppending, True)

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery _
        ("Select * From Win32_Share Where Name = '" & strShare & "'")

    For Each objItem in colItems
    dirPath =  objItem.Path
    Next

    Set folder = objFSO.GetFolder(WScript.Arguments(0))
    Set files = folder.Files

    For each folderIdx In files
        objTextFile.WriteLine(dirPath & "\" & strFolder & "\" & folderIdx.Name)
      Next
      objTextFile.Close
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.