कमांड-लाइन या बैच-फ़ाइल के साथ छिपी हुई फ़ाइलों / फ़ोल्डरों को ले जाना


15

सवाल

क्या किसी को उन फ़ाइलों और फ़ोल्डरों को स्थानांतरित करने का तरीका पता है जिनके पास कमांड-लाइन या बैच फ़ाइल से छिपी हुई, सिस्टम, या रीड-ओनली विशेषता सेट है? (नहीं, पहले विशेषताओं को अलग करना एक विकल्प नहीं है क्योंकि इस कदम के बाद उन्हें फिर से सेट करने के लिए कौन से गुण निर्धारित किए गए थे, यह जानने का कोई व्यावहारिक तरीका नहीं है।)


(असफल प्रयास

  1. मूल moveकमांड का उपयोग छिपी या सिस्टम विशेषता सेट के साथ वस्तुओं के साथ काम नहीं करता है और किसी कारण से, इसमें विशेषताओं को निर्दिष्ट करने के लिए स्विच नहीं होते हैं जैसे कि कमांड dirऔर delकरते हैं।

  2. मैंने एक उपयोगिता का उपयोग करने की कोशिश की जो मैंने लिखा था कि शेल के फ़ाइल ऑपरेशन फ़ंक्शन का उपयोग करता है, लेकिन इसके start /wलिए बैच फ़ाइल को आगे बढ़ने से रोकने के लिए उपयोग करने की आवश्यकता होती है , और यह किसी कारण से लंबे फ़ाइल नाम समर्थन के बारे में शिकायत करता है।

  3. मैंने उपयोग करने की कोशिश की robocopy, लेकिन यह पहले फाइलों को कॉपी करता है और फिर स्रोत को स्थानांतरित करने के बजाय मूल को हटा देता है (जिसके परिणामस्वरूप एक निराशा होती है, यहां तक ​​कि अत्यधिक आउटपुट के साथ पुनर्निर्देशित किया जाता है nul)।

(हैरानी की बात यह है कि कुछ लोगों को कभी भी कमांड-लाइन से छिपी हुई फाइलों को स्थानांतरित करने की आवश्यकता होती है। मुझे मिल सकता है कि यह एक व्यक्ति था जिसने प्रयास को छोड़ दिया।)


4
यदि आप \tempनिर्देशिका बना रहे हैं , तो केवल %1निर्देशिका का नाम बदलना / स्थानांतरित करना क्यों नहीं है \temp? या कि सिर्फ सरलीकृत मामला है?
केन

यह वास्तव में एक सरलीकृत मामला है। बस नाम बदलने से काम नहीं चलेगा।
Synetech

एक विशेषता को छीनना एक विकल्प क्यों नहीं है? यह करने के लिए उचित (और इच्छित) तरीका होगा।
रुके

> एक विशेषता क्यों नहीं एक विकल्प छीन रहा है? @ इडीगास, आपको वास्तव में यह कैसे पता चलेगा कि प्रत्येक वस्तु पर कौन से गुण निर्धारित किए गए थे ताकि वे सही तरीके से फिर से सेट हो सकें? > ऐसा करना उचित (और इच्छित) तरीका होगा जो सही नहीं लगता, बिल्कुल भी नहीं।
Synetech

मेरी अज्ञानता को क्षमा करें, लेकिन क्या कुछ ऐसा होगा जैसे jamesewelch.com/2008/05/01/… काम?
डॉ किट्टी

जवाबों:


6

मैं सफलतापूर्वक Win32 उपयोगिताओं के लिए GNU से MV.EXE का उपयोग करके केवल-पढ़ने के लिए, छिपी हुई फ़ाइलों को सफलतापूर्वक स्थानांतरित करने में सक्षम हूं लक्ष्य फ़ाइल रीड-ओनली, हिडन एट्रिब्यूट्स को बरकरार रखती है।

आपको पूरा पैकेज डाउनलोड करना होगा:

http://gnuwin32.sourceforge.net/downlinks/coreutils-bin-zip.php


1
बुरा नहीं। वह काम करता है, दुर्भाग्य से यह फाइलों के साथ काम करते समय मर जाता है जो इसके साथ शुरू होता है --; यह सोचता है कि यह एक फ़ाइल नाम के बजाय एक तर्क है।
1

2
बुरा नहीं? बस? यह आपके अनुरोध को हल करता है। मुझे '--filename' की आवश्यकता के बारे में कुछ भी नहीं दिखता है, या मैंने इसके लिए परीक्षण किया होगा। माफी, लेकिन छिपी आवश्यकताएं खराब खेल हैं।
रॉब

हां, बुरा नहीं है। यह केवल मेरे द्वारा पूछे गए मूल ऑपरेशन को करता है । यदि यह मान्य Windows फ़ाइलनाम को संभाल नहीं सकता है, तो यह अब बहुत उपयोगी नहीं है? फ़ाइल नाम को सही ढंग से हैंडल करना "छिपी" आवश्यकता नहीं है।
सिनटेक

3
@ एसनेट, आपको बस फ़ाइल का नाम क्वालिफाई करना होगा:mv .\--1.txt newdirectory
डॉंगफे

4
--fooकमांड लाइन तर्क को निरूपित करने के लिए सामान्य उपयोग में यूनिक्स उपयोगिताओं । फ़ाइल नामों को शुरू करने का समर्थन करने के लिए --, उनमें से अधिकांश --कमांड-लाइन तर्कों के अंत और फ़ाइल नामों की शुरुआत को निरूपित करने के लिए एक विशेष तर्क को स्वीकार करते हैं । मुझे यकीन नहीं है कि mvइन आदेशों में से एक है, लेकिन अगर यह है, तो आपको सक्षम होना चाहिए:mv -- --weirdFileName.gotcha betterFileName.txt
बेन

5

मैंने अभी इसका उपयोग किया है:

xcopy /H hidden_file destination_file
del /AH hidden_file

1
प्रश्न पूछता है कि फ़ाइलों को कैसे स्थानांतरित किया जाए । ओपी को पता है कि कैसे कॉपी और डिलीट करना है, और वह ऐसा नहीं करना चाहता है। इसके अलावा, वह कहता है कि वह पहले से ही जानता है कि छिपी हुई फ़ाइलों को कैसे हटाया जाए।
स्कॉट

2
स्कॉट सही है; यदि स्रोत और गंतव्य वॉल्यूम समान हैं, तो आखिरी बात यह है कि किसी फ़ाइल को पहले कॉपी करके "स्थानांतरित" करें। सबसे अच्छे रूप में, यह एक छोटी फ़ाइल के साथ व्यर्थ है, लेकिन एक बड़ी फ़ाइल, या कई छोटी फ़ाइलों के साथ (अकेले कई बड़ी फ़ाइलों को छोड़ दें), यह भयानक (उच्च CPU और डिस्क लोड) है। यह सब बदतर बना दिया जाता है यदि आप एक पूरी निर्देशिका ट्री ले जा रहे हैं। फ़ाइल-सिस्टम पहले से ही निर्देशिका प्रविष्टि बिंदुओं को बदलकर एक त्वरित और आसान कदम का समर्थन करता है; समस्या OS इंटरफ़ेस के साथ है जो छिपी हुई फ़ाइलों के साथ ऐसा करने से रोकता है।
सिंथेटिक्स

काफी उचित है, यह एक वास्तविक कदम नहीं है। और बड़ी चाल के लिए यह बहुत सारे ओवरहेड दे सकता है। लेकिन ओपी ने वास्तव में कभी नहीं कहा कि कॉपी + डिलीट करना बुरी बात है, और इसकी परवाह किए बिना, यह वेब खोजों में शीर्ष हिट्स में से एक है कि कमांड लाइन से एक छिपी हुई फाइल को कैसे स्थानांतरित किया जाए, और इसके लिए मुझे जो करना था वह काम किया । मुझे लगता है कि लोग केवल कुछ छिपी हुई फ़ाइलों को स्थानांतरित करने की तलाश कर रहे हैं वे GNU टूल या पावरशेल स्थापित करने के बजाय इसका उपयोग कर सकते हैं। बहुत परेशान है कि "चाल" कमांड बस ऐसा नहीं कर सकता।
बेन

1
प्रश्न से: " (विफल) प्रयास ... 3. मैंने उपयोग करने का प्रयास किया robocopy, लेकिन यह पहले फ़ाइलों को कॉपी करता है और फिर स्रोत को स्थानांतरित करने के बजाय मूल को हटा देता है (जिसके परिणामस्वरूप निराशा होती है, ...)।"
स्कॉट

पर्याप्त रूप से ... मुझे लगता है कि मैंने पढ़ा है कि "मुझे" कॉपी नहीं हटानी चाहिए। ऑपरेशन के बदले "मैं" रोबोकॉपी का उपयोग नहीं करना चाहता। " लेकिन मैं आपकी बात देखता हूँ।
बेन

3

Powershell v2:

move-item -force   '--1.txt' newdirectory

छिपी हुई फ़ाइलों को भी छिपाता है और सिस्टम विशेषताओं को सेट करता है '-' से शुरू होने वाली फाइलों के साथ काम करेगा।


1
मुझे यकीन है कि यह काम करेगा, लेकिन PowerShell सामान्य कमांड-प्रॉम्प्ट की तुलना में बहुत धीमी है। और नहीं, वह यह है कि नहीं एक "छिपा" आवश्यकता है, मैं स्पष्ट रूप से प्रश्न में लड़ी की देरी की मेरी नापसंदगी का संकेत मिला। (कृपया मुझे यह न बताएं कि यह आपके सिस्टम पर तेजी से काम करता है क्योंकि यह मुझे किसी भी तरह से मदद नहीं करता है। मेरे सिस्टम पर इसे लोड करने में कई सेकंड लगते हैं, और यहां तक ​​कि सिर्फ Tabएक फ़ाइल नाम पूरा करने के लिए दबाने पर> 1 सेकंड जो ऑर्डर होता है की तुलना में धीमी गति से cmd। इसलिए जब तक आप मुझे एक नई प्रणाली खरीदने के लिए तैयार नहीं करते हैं, तब तक PS मदद करने वाला नहीं है।)
Synetech

इससे भी आसान पॉवरशेल समाधान:mv .oldfile .newfile
जय सुलिवन

0

इस बारे में कैसा है?

C:\Temp>attrib hidden.txt
A   H        C:\temp\hidden.txt

C:\Temp>mklink /H renamed.txt hidden.txt
Hardlink created for renamed.txt <<===>> hidden.txt

C:\Temp>del /AH hidden.txt

C:\Temp>attrib renamed.txt
A   H        C:\temp\renamed.txt

जाहिर है यह केवल उन बाधाओं के भीतर काम करता है जहां हार्डलिंक की अनुमति है। मुझे लगता है कि इसका मतलब है कि फ़ाइल का गंतव्य उसी भौतिक डिस्क के समान विभाजन पर होना चाहिए। लेकिन अगर यह बाधा पूरी नहीं हुई है, तो मुझे पूरा यकीन है कि हुड के नीचे एक कॉपी + डिलीट की आवश्यकता होगी।
बेन

दिलचस्प विचार है। बेशक यह बहुत सीमित है (मैं केवल विंडोज 7 सिस्टम ड्राइव के लिए NTFS का उपयोग करता हूं और बाकी सभी चीजों के लिए FAT32। इसके अलावा, मैं आमतौर पर विंडोज एक्सपी का उपयोग करता हूं।) यह विभिन्न विशेषताओं के संयोजन के साथ असंगत रूप से काम करने के लिए भी लगता है। उदाहरण के लिए, यदि आप रीड-ओनली एट्रिब्यूट सेट करते हैं, तो यह आपको "नई" फाइल को डिलीट करने की अनुमति नहीं देगा। ఠ_ folders और हां, यह फ़ोल्डर्स के लिए काम नहीं करता है।
19

0

हमारे पास पॉवरशेल और mvकमांड है। पूर्णता के लिए, इसलिए, यहाँ जेपी सॉफ्टवेयर के TCC / LE के साथ कैसे करें , जिनके कमांड moveऔर renकमांड दोनों हैं/a: विकल्प हैं जो इसके कई कमांड के लिए सामान्य है जो फाइलों को संचालित करने के लिए निर्देशिकाओं को स्कैन करते हैं:

[C: \ Users \ JdeBP] स्पर्श / c --wbleble--
11/03/2014 20: 29: 18.868 C: \ Users \ JdeBP \ - wibble--

[C: \ Users \ JdeBP] Attrib + h + s। \ - wibble--
___A___________ -> _HSA___________ C: \ Users \ JdeBP \ - wibble--

[C: \ Users \ JdeBP] चालें: a: hs --wibble-- --wobble--
C: \ Users \ JdeBP \ - wibble-- -> C: \ Users \ JdeBP \ - wobble--
     1 फ़ाइल चली गई

[C: \ Users \ JdeBP] ren / a: hs --wobble-- --wurble--
C: \ Users \ JdeBP \ - wobble-- -> C: \ Users \ JdeBP \ - wurte--
     1 फ़ाइल का नाम बदला गया

C: \ Users \ JdeBP] dir / a: hs / t / m / k --wurble--
11/03/2014 20:29 0 _HSA___________ - विलेबल--

[C: \ Users \ JdeBP]

आगे की पढाई

  • जेपी सॉफ्टवेयर। मूव । कमांड / टीसीसी सहायता लें।
  • जेपी सॉफ्टवेयर। REN । कमांड / टीसीसी सहायता लें।

मैं एक व्यावसायिक सॉफ्टवेयर खरीदने के बारे में नहीं हूं जो एक छोटे, मुफ्त कार्यक्रम के साथ करने योग्य होना चाहिए (और मैं इसे हमेशा की तरह खुद को लिखने के लिए बहुत अच्छी तरह से समाप्त कर सकता हूं)। इसके बावजूद, आपने उन विशेषताओं को हार्ड-कोडित किया है जो अच्छी नहीं हैं क्योंकि आप अनुमान नहीं लगा सकते हैं कि किसी फ़ोल्डर में क्या विशेषताएँ हो सकती हैं। इसके अलावा, इसे छूने से, आपने इसका मूल टाइमस्टैम्प खो दिया।
सिंटेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.