Rok 2006 - październik. Dokładnie to sobota, 21-go. Nieco po 20-ej.
Nagle zza rogu Marsjanin wrzuca na pl.comp.os.ms-windows.winnt:
>> Jest zmienna username oraz userprofile.
> Dzięki za trop, dalej mam nadzieję wygooglać więcej szczegółów.
Ech. Zmienna username przydatna średnio, za to z userprofile bingo.
Jednak dalej mam problemy. :-(
Założenia:
Jest katalog X:\Psi\
W nim Psi.exe oraz inne pliki, oraz katalog PsiData\ (czyli:
X:\Psi\Psidata\ ) i tenże trzeba przenieść do %userprofile%.
Potem uruchomić Psi, a po jego zakończeniu przenieść katalog PsiData\
z powrotem.
Spłodziłem plik *.bat ... niestety, nie chce działać za bardzo. *.bat
, nie *.cmd bo musi to hulać również pod Win9x. Pliczek umieszczam w
X:\ . Oto on (dodaję komentarze):
>8---->8---->8---->8---->8---->8---->8---->8---->8---->8---->8---->8
@echo off
rem Sprawdzam, czy istnieje folder z profilem użytkownika. De facto,
rem sprawdzam, czy mam do czynienia z WinNT czy z Win9x. Jak z
rem Win9x, omijam kopiownaie, uruchamiam Psi i wyłączam skrypt, nie
rem czekając na zakończenie Psi (bo i po co).
if not exist "%userprofile%\*.*" goto win9x
rem Na wszelki wypadek sprawdzam, czy profil, do którego jestem
rem zalogowany również nie używa Psi. Jeśli używa - zmieniam mu
rem nazwę.
if exist "%userprofile%\PsiData\" move "%userprofile%\PsiData\" "PsiDataTemp"
rem Kopiuję moje PsiData\ do profilu, uruchamiam, czekam i kopiuję z
rem powrotem.
xcopy "Psi\PsiData" "%userprofile%" /e /h /r /y
start /wait "Psi\Psi.exe"
xcopy "%userprofile%\PsiData" "Psi" /e /h /r /y
rem Usuwam po sobie śmieci.
del /f /q "%userprofile%\PsiData\"
rem Jeśli istniał poprzedni, cudzy profil, przywracam go.
if exist "%userprofile%\PsiDataTemp\" move "%userprofile%\PsiDataTemp\" "PsiData"
goto close
: win9x
start "Psi\Psi.exe"
:close
cls
>8---->8---->8---->8---->8---->8---->8---->8---->8---->8---->8---->8
...i to właściwie na tyle. Tylko, że nie działa. Odpalony na profilu,
gdize nie ma Psi, kopiuje zamiast PsiData\ , *zawartość* PsiData\ a
odpalając Psi, odpala zamiast niego w nowym oknie command na zadanym
dysku (tu: X: ). Wpisanie exit powoduje zamknięcie obu okien batch, a
w X:\Psi zamiast PsiData\ , pojawia się *zawartość* PsiData\.
Może to literówka lub kilka, ale nie mam pomysłu... Co do zastosowań
typu cudzysłowy, gwiazdki, backslashe: sprawdzałem to w cmd,
specjalnie tworząc puste katalogi i pod Win 2000 to działa... Niestety
całość "do kupy" działać nie chce. :-(
-- Pozdrawiam, Marsjanin. Tlen.pl : marsjanin-tk Nie zawsze bluescreen pod windą jest przez windę !!! Nic nie gra. Cudowna cisza... :-]Received on Sat Oct 21 23:35:06 2006
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Sat 21 Oct 2006 - 23:42:03 MET DST