2013-10-21 11 views
5

Windows 7'de aşağıdaki menü dosyasını içerik menüsü kısayoluyla yürütmek üzere kullanıyorum. Amacım, alt klasörleri ve dosyaları içeren bir teklif klasörünü farklı bir yola taşımak ve yeniden adlandırmak ve istendiğinde eklenen proje numarasıyla yeniden adlandırmaktır.Yığın dosyasını göreceli bir yola taşımak ve yeniden adlandırmak için toplu iş dosyası

for %%Q in (.) do set quotenumber=%%~nQ 
for %%Y in (.\..) do set year=%%~nY 
for %%C in (.\..\..\..) do set client=%%~nC 
set /P projectnumber="Enter Project number>" 
move "c:\myfiles\mainfiles\clients\%client%\quotes\%year%\%quotenumber%" "c:\myfiles\mainfiles\clients\%client%\projects\%year%\%projectnumber%" 

ben "başka bir işlem tarafından kullanıldığı için işlem dosyaya erişimi yok" hatası alıyorum. Neyi yanlış yaptığımı kimse anlatabilir mi? Ben programcı değilim ve bunu işe alamıyorum! Herhangi bir yardım büyük takdir edilecektir.

cevap

3

Kodunuza bakarak, c:\myfiles\mainfiles\clients\%client%\quotes\%year%\%quotenumber% dir dizininde yürütüyorsunuz. Ve dir komut dosyası tarafından düzenlenen çünkü başka place.Which aynı dir taşımak deneyin son satırında imkansızdır itself.Try bu:

for %%Q in (.) do set quotenumber=%%~nQ 
for %%Y in (.\..) do set year=%%~nY 
for %%C in (.\..\..\..) do set client=%%~nC 
set /P projectnumber="Enter Project number>" 
cd .. 
move "c:\myfiles\mainfiles\clients\%client%\quotes\%year%\%quotenumber%" "c:\myfiles\mainfiles\clients\%client%\projects\%year%\%projectnumber%" 
+0

bir cazibe gibi çalıştı, çok teşekkür ederim !! – user2902883

İlgili konular