bat dosyası ile ps1 dosyası yapmak

Programlama dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
Kullanıcı avatarı
feuer
Bit
Bit
Mesajlar: 27
Kayıt: 24 Eyl 2020, 01:33

bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen feuer »

umarım doğru başlıkta soruyorumdur

54 satırlık bir powershell scriptim var örnek.ps1

bunu bat dosyası içinden çalıştırıyorum şu şekilde

PowerShell.exe -Command "c:\cat\örnek.ps1"

ancak şöyle birşey düşündüm

bu ps1 dosyası diskte olmasa
bu 54 satırı bat dosyası içinden,
1 - çalıştırdığımda oluşturacak ,
2 - çalıştıracak,
3 - daha sonrada silecek şekilde nasıl hazırlayabilirim

2. ve 3. şık ile sorunum yok

1. şık için

echo "codeline1" > örnek.ps1
echo "codeline2" > örnek.ps1
echo "codeline3" > örnek.ps1
.
.
.
echo "codeline54" > örnek.ps1

şeklinde 54 satıra tek tek eklemeden, scriptin başladığı yerden bittiği yere kadar alacak bir komut ile yapabilir miyim?
bilginiz var mı bu konuda?
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 31455
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek

Re: bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen velociraptor »

Ben Vbs lerde tek tek ekliyorum . Varsa kolayı cidden bilmek isterim
Knowledge determines destiny, And ye shall know the Truth and the Truth shall make you free
Kullanıcı avatarı
feuer
Bit
Bit
Mesajlar: 27
Kayıt: 24 Eyl 2020, 01:33

Re: bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen feuer »

araştırıyorum
bulabildiklerim bunlar, daha doğrusu anladığım kısımlar

Kod: Tümünü seç

more /e +3 input.txt > output.txt
bu 3 yazan yere verdiğin rakam ile dosyanın içinde oraya kadar olan bölümü es geçiyor (skip) yani 4üncü satırdan başlatıyor output.txt yi

Kod: Tümünü seç

(
echo Line1
echo Line2
...
echo Last Line
) > output.txt 
bu da her satıra echo giriyoruz ancak output.txt scriptin en sonuna bir kere yazıyoruz
bunları zaten biliyorsundur, more komutunun böyle kullanılacağı aklıma gelmezdi araştırmasam

hazır bat dosyası buldum bir tane de, komut şeklinde giriyorsun başlangıç ve bitiş satırını çıktı veriyor ona bakıcam bugün boş olduğumda
Kullanıcı avatarı
feuer
Bit
Bit
Mesajlar: 27
Kayıt: 24 Eyl 2020, 01:33

Re: bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen feuer »

https://stackoverflow.com/questions/135 ... batch-file

çokça gezdim bu konu ile ilgili en anlaşılabilir ve uygulanabilir bu sayfayı buldum

Kod: Tümünü seç

@Echo OFF
del /q output.txt
Set "File=input.txt"
Set /A "Start_Line=3"
Set /A "End_Line=7"

For /F "Tokens=*" %%# In ('Type "%FILE%"') DO (
    Call Set /A "Line+=1"
    CMD /C "IF %%LINE%% GEQ %Start_Line% IF %%LINE%% LEQ %END_Line% (Echo %%#>>"Output.txt")"
)
bu script ile 3. ve 7. satırlar arasını alabiliyoruz ancak
boş satırlar atlanıyor ve bir sonraki satır çıktıya dahil ediyor
özel karakterler ile sorunluyuz
yani basit sayılar ve isimler olan satırları alıyor bu script ancak >< gibi özel karakterlerde sıkıntılı
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 31455
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek

Re: bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen velociraptor »

Paylaşım için teşekürler, özel karakterler çokça kullanılıyor malesef
Knowledge determines destiny, And ye shall know the Truth and the Truth shall make you free
Kullanıcı avatarı
feuer
Bit
Bit
Mesajlar: 27
Kayıt: 24 Eyl 2020, 01:33

Re: bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen feuer »

olayın mantığını anladım,
ayrıntıları anlamaya çalışıyorum

birkaç değişiklik ile özel karakter sorununu çözülüyor sanırım
vaktim oldukça bu konu ile ilgilenicem
özel karakter ve boş satır sorununu da çözünce paylaşırım
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 31455
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek

Re: bat dosyası ile ps1 dosyası yapmak

Mesaj gönderen velociraptor »

İnşallah , hayırlısı diyelim
Knowledge determines destiny, And ye shall know the Truth and the Truth shall make you free
Cevapla