هل يمكنني نسخ الملفات إلى مكان الشبكة من برنامج نصي أو من سطر الأوامر؟[مغلق]

StackOverflow https://stackoverflow.com/questions/10313

سؤال

هل من الممكن، في نظام التشغيل Windows XP، نسخ الملفات إلى مكان الشبكة من سطر الأوامر، أو ملف دفعي، أو حتى أفضل، برنامج PowerShell النصي؟

ما أرسلني إلى طريق البحث هذا هو محاولة نشر الملفات إلى مكتبة مستندات WSS 3.0 من جهاز المستخدم.لا يمكنني تعيين محرك أقراص للمكتبة المعنية لأن موقع WSS متاح فقط للمصادقة عبر NTLM على منفذ آخر غير 80 أو 443.أفترض أنه يمكنني استخدام خدمات الويب WSS بالتناوب لدفع الملفات للخارج، ولكنني أشعر بالفضول حقًا بشأن الإجابة على هذا السؤال الآن.

هل كانت مفيدة؟

المحلول 6

مما أراه، يبدو أنه ليس من الممكن الوصول مباشرة/التعامل مع مكان الشبكة من سطر الأوامر، سواء كان ذلك في PowerShell أو موجه الأوامر العادي.

@slipsec (#13899):شكرًا على الاقتراح، ولكن PowerShell لا يدعم رقم المنفذ في مسار الوجهة أكثر من net use الأمر يفعل.

لذا فإن أفضل ما يمكنني فعله في موقفي الخاص هو شراء شيء مثل WebDrive لتمكين تعيين محرك الأقراص عبر WebDAV على منافذ غير قياسية، أو القيام ببعض التكوينات المختلفة (على سبيل المثال.تطبيق ويب منفصل بعنوان IP مختلف ورؤوس مضيف) في SharePoint لعرض الموقع عبر NTLM على منفذ قياسي.

نصائح أخرى

باستخدام ملف دفعي، يمكنك تسجيل الدخول إلى المورد ونسخ الملف:

سيحتوي الملف الدفعي على ما يلي:

net use \\{dest-machine}\{destfolder} {password} /user:{username}
copy {file} \\{dest-machine}\{destfolder}

على سبيل المثال

net use \\Development\myfolder mypassword /user:Administrator
copy newfile.c \\development\myfolder

إذا كنت تشير إلى أ windows box, ، استخدم فقط xcopy.إنه أمر قياسي جدًا xcopy متاح.

xcopy src \\dest-machine\shared-library-name\dest
xcopy \\src-machine\shared-library-name\dest src

يستخدم Powershell فكرة الموفرين لتوفير واجهة مشتركة في مخازن البيانات.يبدو أن هذه العناصر تلتصق بالاسم الشائع "العنصر"، حتى تتمكن من الحصول على قائمة كاملة بها man *item*.إذا كنت تعرف طريقة أخرى لنسخ البيانات من أحد المتاجر والتعامل معها بطريقة أخرى، فمن الأفضل أن تستخدمها، ولكن استخدام أوامر cmdlets يوفر أسلوبًا أفضل "للتعلم مرة واحدة، والاستخدام كثيرًا".في حالتك يمكنك:

Copy-Item test.txt -Destination \\dest-machine\share

يدعم Copy-item أيضًا معلمة -Credential إذا كنت في حاجة إليها.

لا تحتوي "مواضع الشبكة" على واجهة برمجة تطبيقات حقًا، إنها مجرد مجموعة من الاختصارات، وتستخدم مشاركة SharePoint ملحق Shell، إذا كنت أتذكر بشكل صحيح.

كل ذلك ليقول:الوصول إلى Sharepoint كنظام ملفات من PowerShell أيضًا يتطلب تمديدا، و موفر SharePoint.

يمكنك استخدام أوامر "net" للمصادقة ثم نسخ الملفات.

copy src \\dest-machine\shared-library-name\dest

أنالست حقًا تأكد بالضبط من كيفية التعامل مع المصادقة إذا لزم الأمر.

إذا كان هذا شيئًا تحتاج إلى كتابته، فيجب أن تفكر فيه نانت.

إنه يستخدم بشكل أساسي لبناء البرامج النصية، ولكنه قوي جدًا وسهل الاستخدام إلى حد معقول.

هناك ايضا NAntContrib و ال مهمة بروتوكول نقل الملفات والتي ينبغي أن تساعدك.

قد أكون مخطئًا بشأن هذا، لكنني أعتقد أن حل النسخ الآلي الخاص بـ Nick أو حل أمر النسخ الخاص بـ Nathan لن ينجح.يبدو أن Robocopy يريد محرك أقراص معينًا، وهو ما لا يمكنني فعله لأنه لا يعمل على المنفذ 80 أو 443، ولا يستطيع Windows التعامل مع مسار يتضمن المنفذ باسم نمط UNC:

copy src \\dest-machine:45000\shared-library-name\dest

لم أر مهمة NAnt يمكنها التعامل مع هذا الموقف أيضًا.

أعلم أيضًا أن هناك أدوات ستسمح لي بتعيين محركات أقراص WebDAV.كنت أتساءل أكثر عما إذا كانت هناك طريقة ما للاستفادة من مواضع الشبكة التي تم إعدادها دون استخدام واجهة المستخدم الرسومية.

نعم يمكنك ذلك.أقترح استخدام أداة مثل robocopy.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top