2016-04-14 4 views
0

Этот пакетный скрипт должен отображаться на ПК и переименовывать файлы в этой папке с использованием отметки времени & и копировать их в другое место на другом ПК. Затем он должен удалить все файлы в этой исходной папке, кроме файла, который называется «LBBS.log». Все работает отлично, за исключением части удаления. Он не удаляет ничего в папке и фактически удаляет сам пакетный файл. Когда я запустил его, он копирует его в порядке, но потом удаляет его. Может кто-нибудь, пожалуйста, скажите мне, что мне нужно изменить, чтобы это работало. Что мне не хватает? Это в среде Windows 7. Заранее спасибо.Сценарий, который удаляет себя по ошибке

net use x: \\MTLLBBS023\C$ 
set "stamp=%date:~4,2%%date:~7,2%%date:~10,4%%time:~0,2%%time:~3,2%%time:~6,2%" 
set "source=MTLLBBS023" 
xcopy /S /E /I x:\logs E:\Data\Logs\MTLLBBS023\%source%-%stamp%.* 
cd x:\Logs 
for %%i in (*) do if not %%i == LBBS.log del %%i 
net use x: /delete 

ответ

2

Проблема заключается в том, что ваши сценарии и целевые каталоги расположены на отдельных дисках.

Когда вы введете cd в другой каталог, команда не будет работать, если вы попытаетесь перейти на другой диск, не используя опцию /d.

Вместо cd x:\logs, вы должны сказать cd /d x:\logs - это изменит привод и каталог.

В качестве альтернативы, вместо команд net use и net use delete, вы можете просто pushd \\MTLLBBS023\C$ идти к сетевому диску (это также автоматически создает диск временной сети), а затем popd в конце сценария, чтобы оставить каталог и удалить отображенный диск. Таким образом, вам не нужно cd.

+0

Ty для ответа. Я не смог проверить это до сих пор, и я получаю награду в конце скрипта. Я использую cd/d x: \ logs. Исходя из вашего предложения. После «net use x:/delete» в нем написано: «Есть открытые файлы и/или неполные поисковые запросы каталога, ожидающие подключения к x :. Можно ли продолжить отсоединение и принудительно закрыть их? [N} : « Почему это говорит мне, что есть открытые файлы, когда их нет, и как я могу просто заставить его игнорировать и закрывать соединение? Большое спасибо за Вашу помощь. – Sammi8796