ব্যাচটি যে ডিরেক্টরিটি চালিত হয়েছিল সেটিতে সিএমডি সিডি সেট করা


0

আমি একটি ব্যাচ স্ক্রিপ্ট তৈরি করার চেষ্টা করছি যা ভিন্ন পরিবেশে একটি প্রোগ্রাম খুলবে (যাতে আমি এটির বহনযোগ্য সংস্করণ তৈরি করতে পারি)।

set APPDATA=%CD%\dataএটি করতে এটি বলার জন্য আমি এটি ব্যবহার করি। ব্যাচটি শুরু হওয়ার পরে আমি যে সমস্যার মুখোমুখি হচ্ছি তা হ'ল আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory.

পরিবর্তে cdকমান্ডটি ব্যাচ ডিরেক্টরিতে পরিবর্তন করতে চাই। এটি করার কোন সহজ উপায় আছে?

উত্তর:


1

যদি এটি কোনও ড্রাইভে থাকে তবে আপনার এখনও সমস্যা হতে পারে যদি না আপনি ড্রাইভটি ম্যাপ না করেন তবে নিম্নলিখিতগুলি কেন করবেন না?

APPDATA=%~dp0
cd /d %APPDATA%

একটি ক্লাস করে আপনি ত্রুটিটিও সাফ করতে পারেন তবে এটি স্ক্রিপ্টটি কোনও ইউএনসি পথ থেকে চালিত হয় আপনি এই ত্রুটিটি গ্রহণ করবেন, আপনাকে কেবল এটির মানচিত্র তৈরি করতে হবে বা ত্রুটিটি সিএলএস করতে হবে।


2

এটি ব্যাচে রাখার চেষ্টা করুন:

pushd "%~p0" 2> nul
pushd "\\%~p0" 2> nul

যদি কোনও ইউএনসি ফোল্ডার থেকে শুরু হয় তবে প্রথম লাইনটি ব্যর্থ হবে তবে ২ য় লাইনটি কাজ করবে।

যদি ড্রাইভ ম্যাপযুক্ত ফোল্ডার থেকে শুরু করা হয় তবে ২ য় লাইন ব্যর্থ হবে তবে 1 ম কাজ করবে।

যে কোনও উপায়ে, বর্তমান ফোল্ডারটি যেখানে ব্যাচ ফাইলটি বসে থাকবে এবং আপনি সেখান থেকে ফোল্ডারগুলি পরিবর্তন করতে পারেন।

পরে আপনি cdকোন ফোল্ডার থেকে কাজ করছেন তা প্রদর্শন করতে আপনি ব্যবহার করতে পারেন ।

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