TosunPASA Posted March 14, 2014 Share Posted March 14, 2014 Merhaba bat ile bazı işlemler yapmak yaptırmak istiyorum 1) misal : d:\Belgelerim dizin ve altındaki dosya isimlerindeki Türkçe karekterleri değiştirtmek başka OS lara veya DVD ye Yedekleme işlemi yaptırmadan önce dosya isimlerindeki Türkçe karekterler yerine karşılığı olan harfleri koymak.. Ş yerine S; ş yerine de s; İ yerine I gibi bu arada tabiki dosya isimlerindeki ?! ' " gibi simgeleri sildirtmek veya alternatif simgeler le değiştirtmek de istiyorum.. misal ' işareti olan yerine boşluk karekteri koydurtmak gibi - işareti yerine de _ koymak gibi. 2) dosya adında 2 boşluk olan ları tek boşluk yaptırtmak veya boşluk olan yerlere _ işareti koydurtmak gibi (öncesinde 2 boşlukları tek boşluk yaptırtıp sonra _ underline a çevirtmek). bununla ilgili netde benzer bir powershell kodu buldum ama script kodlamadan anlamadığım için bat a modifiye edemedim. powershell ile Dir | Rename-Item –NewName { $_.name –replace “ “,”_” } yedekten dönerken de doğal olarak _ olanları boşluğa çevirtmem gerekiyor. Türkçe karekter değişimleri sorun değil. 3) Bu kod da bulunan yedekleme işlemini sıkıştırma aktif veya sıkıştırma olmadan yaptırmayı nasıl ekrana seçenek gelecek şekilde kodu düzenleyebiliriz? Yani kullanici 1 i seçtiğinde sıkıştırma yaparak yedeklesin, 2 yi seçtiğinde sıkıştırma işlemi yapmadan yedekleme yapsın şeklinde. tabiki rar da o parametrenin karşılığını da bilmiyorum. o özelliği gui ekrandan biliyorum sadece. Ekrandan rar dosya boyutu girmesini sağlayabilirsek de güzel olur (DVD veya CD ye uygun olacak RAR boyutlarına ayarlatabilmek için) @ECHO OFF net stop MSSQLSERVER MD D:\YEDEKLER\"%DATE%" C:\Progra~1\WinRAR\Rar.exe a -r D:\YEDEKLER\"%DATE%"\Mikro_Yedek.rar D:\Mikro14 net start MSSQLSERVER EXIT konu hakkında yardımcı olabilirseniz baya makbule geçecek teşekkürler Quote Link to comment Share on other sites More sharing options...
KintaRo Posted March 17, 2014 Share Posted March 17, 2014 Bu konu "Scripts" forumundan "Yazılım" forumuna taşınmıştır. Quote Link to comment Share on other sites More sharing options...
kalelibilişim Posted June 30, 2014 Share Posted June 30, 2014 Benim de bir sorunum var : Bir klasörün içinde aşağıdaki şeklinde dosyalarım var. 001_...mp3 002_...mp3 ... 150_...mp3 Ben bu dosyaların isimlerini aşağıdaki gibi yaptırmak istiyorum. 1.mp3 2.mp3 ... 150.mp3 Bu işlemi normalde "ren 001* 1.mp3" komutuyla yapabiliyoruz fakat bu komutu 150 defa yazmak kullanışlı değil bu komutu kısaltarak yazabilir miyiz? Quote Link to comment Share on other sites More sharing options...
secoo140 Posted July 5, 2014 Share Posted July 5, 2014 Dr. Batcher diye bir program var orada bu tip ornek dosyalar vardi ama Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted July 5, 2014 Share Posted July 5, 2014 Bence tüm bu işlemler autoit ile güzel bir script yazılarak halledilir. Aceleniz yoksa sizin için birşeyler yaparım. Quote Link to comment Share on other sites More sharing options...
TeYyArEe Posted July 6, 2014 Share Posted July 6, 2014 Merhaba bat ile bazı işlemler yapmak yaptırmak istiyorum konu hakkında yardımcı olabilirseniz baya makbule geçecek teşekkürler Dosya içerisindeki karakter / karakterleri değiştirmek için şu kodu kullanabilirsiniz Dikkat etmeniz gereken tek nokta "!file:xx=XX!" kısmı. Burada xx değiştirilecek karakter / karakterleri belirtir, XX ise yeni atanacak karakter / karakterleri belirtir. Örnek olarak "!file:Ş=S!" Ş harfini S'ye, "!file:_=-!" _ karakterini - karakteri ile değiştirir. setlocal enabledelayedexpansion for %%a in (*) do ( set file=%%a ren "!file!" "!file:Ş=S!" ) Seçim yaptırarak kodun işleyişini değiştirmek için ise Choice komutunu kullanabilirsiniz, örnek olarak Choice /M "Sıkıştırma yapılsın mı ?" if errorlevel 1 goto WinRARyap if errorlevel 2 goto WinRARyapma :WinRARyap net stop MSSQLSERVER MD D:\YEDEKLER\"%DATE%" C:\Progra~1\WinRAR\Rar.exe a -r D:\YEDEKLER\"%DATE%"\Mikro_Yedek.rar D:\Mikro14 net start MSSQLSERVER GOTO END :WinRARyapma ******** yapılacak işlemler ******** GOTO END :END Echo Tüm işlemler tamamlandı ... Pause Daha çoklu seçim yaptırmak için ise Choice /C ABCD /M "Hangi sürücüye atılsın ?" if errorlevel 1 goto AA if errorlevel 2 goto BB if errorlevel 3 goto CC if errorlevel 4 goto DD :AA yapılacak işlem goto END :BB yapılacak işlem goto END :CC yapılacak işlem goto END :DD goto END :END yapılacak işlem Exit Sanırım yeterince açıklayıcı olmuştur... Benim de bir sorunum var : Bir klasörün içinde aşağıdaki şeklinde dosyalarım var. 001_...mp3 002_...mp3 ... 150_...mp3 Ben bu dosyaların isimlerini aşağıdaki gibi yaptırmak istiyorum. 1.mp3 2.mp3 ... 150.mp3 Bu işlemi normalde "ren 001* 1.mp3" komutuyla yapabiliyoruz fakat bu komutu 150 defa yazmak kullanışlı değil bu komutu kısaltarak yazabilir miyiz? Bunun içinde şu kodu kullanabilirsin @echo off set i=1 for %%f in (*.MP3) do call :degistir "%%f" goto bitti :degistir ren %1 %i%.MP3 set /A i+=1 :bitti Haydi kolay gele ! Quote Link to comment Share on other sites More sharing options...
kalelibilişim Posted July 6, 2014 Share Posted July 6, 2014 (edited) @ TeYyArEe İçersinde 114 adet mp3 olan bir klasörde bu Kodu çalıştırınca 2.mp3, 3.mp3, ...115.mp3 şeklinde oldu. Yani 001_xyz.mp3 100.mp3 oldu.100_xxx.mp3 ve sonrasındaki mp3lerbir üst sayı ile 101.mp3 oldu. buna göre 114_xxx.mp3 dosyamız 115.mp3 oldu. Bir de bana bu kodları iyice öğrenebileceğim bir kaynal veya yol yöntem önerebilirseniz iyi olur. Edited July 6, 2014 by kalelibilişim Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted July 6, 2014 Share Posted July 6, 2014 1.mp3 dosyası 2.mp3 olmuştur, tümü bir sayı yukarı kaymış, sanırım döngüdeki index sayısından. Quote Link to comment Share on other sites More sharing options...
TeYyArEe Posted July 6, 2014 Share Posted July 6, 2014 @ TeYyArEe İçersinde 114 adet mp3 olan bir klasörde bu Kodu çalıştırınca 2.mp3, 3.mp3, ...115.mp3 şeklinde oldu. Yani 001_xyz.mp3 100.mp3 oldu.100_xxx.mp3 ve sonrasındaki mp3lerbir üst sayı ile 101.mp3 oldu. buna göre 114_xxx.mp3 dosyamız 115.mp3 oldu. Bir de bana bu kodları iyice öğrenebileceğim bir kaynal veya yol yöntem önerebilirseniz iyi olur. 001.mp3 dosyasını 2.mp3, 002.mp3 3.mp3 .... 101.mp3 doyasını 102 olarak atmasının nedeni, CMD komut satırının aritmetik işlemde dosya ismi önündeki 00 karakterlerini boş (rakamın solundaki sıfır matematikte gözardı edildiği gibi) olarak algılamasından kaynaklanır. yani CMD komut satırı için 001.mp3 ile 1.mp3'ü aynı kabul ederek otomatik olarak 2.mp3 olarak değiştirmekte. BAT dosyasını yeniden çalıştırdığınızda dosyalar 1.mp3, 2.mp3 ... 114.mp3 olarak yeniden isimlendirilecektir. CMD script için geçerli bir kaynak yok, araştırma yaparak öğrenebilirsiniz ancak. Haydi kolay gele ! Quote Link to comment Share on other sites More sharing options...
kalelibilişim Posted July 6, 2014 Share Posted July 6, 2014 İlk çalıştırmada 001_xxx.mp3 100.mp3 / 100_xxx.mp3 101.mp3 ... 114.-_xxx.mp3 115.mp3 oluyor. İkinci çalıştırma da 2.mp3 1.mp3 / ... 93.mp3 92.mp3 / 93.mp3 yok. Sonrasında değişiklik yok 115 e kadar gidiyor. üçüncü çalıştırmada 79 kayıp dördüncü çalıştırmada 66 kayıp beşinci çalıştırmada 54 yok... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.