Witam.
Chcę wykorzystać powershella do wyciągnięcia pewnych danych i zrzucenia ich do pliku. Następnie batchem odczytanie tych danych z pliku i dalsze wykorzystanie. Niestety batch nie widzi danych z txt utworzonego w powershellu i nie mam pojęcia dlaczego. Poniżej prosty przykład
ps1:
$data = "jakis tekst"
"$data">test1.txt
bat:
@echo off
Powershell -noprofile -executionpolicy bypass -file "%userprofile%\desktop\test\test.ps1"
for /f "tokens=*" %%a in (%userprofile%\desktop\test\test1.txt) do (
echo %%a
)
pause
Na pulpicie utworzyłem folder test i tam mam wszystkie pliki. Stąd taki adres w bat. Niestety taki rodzaj adresowania z ps1 zwraca mi błąd, więc jest samo >test1.txt. Ale tworzy go na tym samym poziomie, więc teoretycznie batch powinien dane zaczytać... a tak się nie dzieje. Nie ma natomiast problemu, jeśli wyremuję linię wywołującą ps1 i test1.txt utworzę z palca. Wtedy echo działa. Dlaczego tak się dzieje?
Chodzi o to, aby wszystko działało po odpaleniu batcha - wywołanie skryptu PS-a, który coś tam zrobi, zrzuci to do txt, a następnie ten sam bat, który wywołał skrypt - pobierze dane z pliku tekstowego i wyświetli je na ekranie.
pozdrawiam