আকারের উপর ভিত্তি করে ইউএসবি ডিস্কের নির্বাচন কীভাবে স্বয়ংক্রিয় করবেন


0

আমি এমন একটি প্রক্রিয়াটি স্বয়ংক্রিয় করার চেষ্টা করছি যেখানে শিক্ষকরা বিভিন্ন নামের সাথে মেমরির স্টিকগুলিতে সামগ্রী মুছুন এবং তারপরে সঠিক সামগ্রীটি (প্রতিটি সময় একই) ফিরিয়ে রাখুন এবং মেমরি স্টিকটির নাম পরিবর্তন করে রাখুন to

আমি প্রক্রিয়াটিতে ডিস্কের একটি ফর্ম্যাটিং যুক্ত করতে চাই এবং ছাত্ররা লাঠিগুলিতে নাম পরিবর্তন করে রাখার কারণে, আমি নাম ট্যাগগুলি ব্যবহার করতে পারি না এবং শিক্ষকরা যদি তাদের ম্যাকের উপরে একাধিক ডিস্ক রাখেন তবে আমি যদি উদ্বেগ প্রকাশ করি তবে আমি চিন্তিত " डिस्क 1 "উদাহরণস্বরূপ আমি হঠাৎ ভুল পার্টিশনটি ফর্ম্যাট করি। সুতরাং এর জন্য আমি ভাবছি আকারের ভিত্তিতে সঠিক ডিস্কটি চয়ন করা সম্ভব কিনা।

আমি এই কোডটি ব্যবহার করছি: sudo diskutil eraseDisk FAT32 UDISK MBRFormat /dev/disk1


আমি কোনও সংখ্যাযুক্ত রেফারেন্স ব্যবহার করব না, কারণ অন্য কোনও পার্টিশন মাউন্ট করা থাকলে সেগুলি পরিবর্তন হবে। আমারও অনুরূপ সমস্যা ছিল এবং এর পরিবর্তে ইউএসবি পাঠকের ডিভাইসের নাম ব্যবহার করে শেষ করেছি ... আপেল.স্ট্যাকেক্সেঞ্জার / প্রশ্নস / ২০70০৮৯/ … আসল সমাধানটি কীভাবে উপস্থিত হয়েছে তা দেখার জন্য আমিও সমস্ত মন্তব্যগুলি পড়তে পারি - এটি গ্রহণ করেছিল পেরেক দেওয়ার আগে কয়েকটি চেষ্টা ও চেষ্টা করা হয়েছে।
তেটসুজিন

আমি যে ফলাফলটির কোডটি শেষ করেছি তা পোস্ট করব, যদিও কোথা থেকে অনুলিপি করতে হবে তার কোনও 'পছন্দসই' সেটআপ নেই, আপনাকে নিজেরাই এটি যুক্ত করতে হবে। আমি এটি অটোম্যাটর থেকে একটি পরিষেবা হিসাবে সংরক্ষণ করেছি, যা আমি পরে আমার টার্গেট এসডি কার্ড after
োকানোর

উত্তর:


0

এই সম্পর্কিত প্রশ্নে আমি ক্লোনামথের সাহায্যে তৈরি করা অনুরূপ বাল্ক মুছা / অনুলিপি রুটিনের স্ক্রিপ্ট এটি - অ্যাপ্লিক্রিপ্টের সাহায্যে নির্দিষ্ট সংযুক্ত ডিস্ক, ভলিউম নয়, আবিষ্কার করুন যা আপনাকে ডিভাইসের নাম কীভাবে বের করা হয় তা দেখার জন্য উল্লেখ করতে হবে।

আমি স্ক্রিপ্টটি একটি অটোমেটার পরিষেবা হিসাবে সংরক্ষণ করেছি, যা আমি তখন অপ্রয়োজনীয় সাথে বেঁধেছিলাম, বাস্তবে সিস্টেম প্রিফেস> কীবোর্ড> শর্টকাটস> পরিষেবাদিতে দুর্ঘটনা Cmd ⌘ Opt ⌥ Shift ⇧ F19 কী কমান্ড দ্বারা করা খুব শক্ত যাতে আমি নিজে প্রতিটি অপারেশন চালিত করতে পারি এবং ঝুঁকির মধ্যে না পড়ে এর দুর্ঘটনাক্রমে গুলি চালানো হচ্ছে।

রুটিনটি আমার ইউএসবি কার্ড রিডারটির ডিভাইসের নাম ব্যবহার করে কমপক্ষে ভুল ডিস্কের ফর্ম্যাট করার ঝুঁকি হ্রাস করে সম্ভাব্য লক্ষ্য সন্ধান করে, যদিও এটির পৃথক এসডি কার্ডের কোনও সুরক্ষা ব্যবস্থা নেই এবং আমি যখন পাঠকের কোনও কার্ডে কাজ করব তখন কী কম্বো আঘাত।

on run {input, parameters}  
    -- see https://apple.stackexchange.com/questions/207089/find-specific-attached-disk-not-volume-by-applescript/207103#207103 for BSD Disk workings 

    global diskName
    set diskName to "DISK_NAME"
    global BSD_disk
    --using ioreg...
    set BSD_disk to do shell script "ioreg -l | grep -A 10 SD/MMC/MS/MSPRO | awk '/disk/ {gsub(\"\\\"\",\"\"); print $NF}'" 

    if BSD_disk is not "" then
        try
            --FAT 16
            do shell script "diskutil eraseDisk \"MS-DOS FAT16\" " & diskName & " MBRFormat " & BSD_disk
        on error
            try
                --FAT 32 [>2GB cards]
                do shell script "diskutil eraseDisk \"MS-DOS\" " & diskName & " MBRFormat " & BSD_disk
            end try
        end try

        delay 2
        tell application "Finder"
            set x to (POSIX file "/Users/[user]/BatchFolder") as alias
            try
                set dest to (POSIX file "/Volumes/" & diskName as string) as alias
            on error return
            end try
            duplicate every item of x to dest
            delay 1         
            if disk diskName exists then
                eject disk diskName
            end if
            beep
        end tell
    else
        return "no SD Card detected"
    end if

    return input
end run
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.