Windows toplu: tarih değişkene biçimlendirilmiş


105

Geçerli tarihi YYYY-AA-GG formatında bir Windows .bat dosyasındaki bazı değişkenlere nasıl kaydedebilirim?

Unix kabuk analogu:

today=`date +%F`
echo $today



1
adarshr, bu sorunun cevabı, onunla başa çıkmanın oldukça korkunç ve hataya açık bir yolunu kullanıyor. Kullanmamanızı tavsiye ederim.
Joey

Bu bağlantı, aşağıdaki yanıtları anlamanıza yardımcı olur. ss64.com/nt/for_f.html
smwikipedia

Yanıtlar:


151

Geçerli tarihi yerel ayardan bağımsız bir şekilde alabilirsiniz.

for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x

Daha sonra alt dizeleri kullanarak tek tek parçaları çıkarabilirsiniz:

set today=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%

Tek tek parçaları içeren değişkenleri almanın başka bir yolu da şudur:

for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x
set today=%Year%-%Month%-%Day%

Değişken ad alanınızı kirletme pahasına, alt dizelerle uğraşmaktan çok daha iyi.

Yerel saat yerine UTC'ye ihtiyacınız varsa, komut aşağı yukarı aynıdır:

for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do set %%x
set today=%Year%-%Month%-%Day%

1
@ user2023861 Görünüşe göre bir komut istemi açsam bile, komut istemini açtığımda değil, komutun çalıştırıldığı anda her zaman doğru tarihi / saati alıyorum.
ADTC

5
Yukarıdaki satırı birden çok kez çalıştırırsanız, tanımlanmamış değişkeni kontrol ettiği için her çağrı için yeni bir tarih almayacağınızı unutmayın. for /fİkincisi boş olan iki satır döndürdüğü için bu gereklidir . Bunu arada kullanarak çözebilirsiniz set MyDate=. Sanırım user2023861 bunun üzerine tökezledi.
Joey

1
@CharlesWood, en azından kendi toplu dosyalarımda sağlamlık için çabalıyorum, ancak bu günlerde bunun yerine genellikle PowerShell kullanıyorum.
Joey

1
: Kurulacaktır Değişkenler Year, Month, Day, Hour, Minute, Second, Quarter, WeekInMonth,DayOfWeek
kullanıcı

2
for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x set today=%Year%-%Month%-%Day% geçersiz cevap: bir basamaklı ay ve gün döndürür . Sıfır ay ve gün başından bugüne dizesi ile 2 basamaklı sol dolgulu nasıl elde edilir?
Andrus

39

Bunu bir toplu iş dosyasında standart MS-DOS komutlarını kullanarak elde etmek istiyorsanız, şunları kullanabilirsiniz:

FOR /F "TOKENS=1 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET dd=%%A
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2,3 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET yyyy=%%C

Bunun daha da geliştirilebileceğinden eminim, ancak bu, tarihi Gün (gg), Ay (mm) ve Yıl (yyyy) için 3 değişkene verir. Daha sonra bunları toplu komut dosyanızda gerektiği gibi kullanabilirsiniz.

SET todaysdate=%yyyy%%mm%%dd%
echo %dd%
echo %mm%
echo %yyyy%
echo %todaysdate%

Bu soru için bir cevabın kabul edildiğini anlasam da, bu alternatif yöntem WMI konsolunu kullanmadan bunu başarmak isteyen birçok kişi tarafından takdir edilebilir, bu yüzden bu soruya bir miktar değer katacağını umuyorum.


3
Bunu bir Windows 7 kutusunda biraz değiştirmem gerektiğini buldum. Belirteçlerin bir artırılması gerekiyor: ... FOR / F "TOKENS = 2,3,4 eol = / DELIMS = /" ...
Joe Johnston

1
aynı Win server 2012'de Azure'da
Kirill Yunussov

34

date /TBiçimi komut isteminde bulmak için kullanın .

Tarih formatı şu şekilde Thu 17/03/2016kullanılırsa:

set datestr=%date:~10,4%-%date:~7,2%-%date:~4,2%
echo %datestr%

1
Sorulan soruya en yakın cevap budur. Tek ihtiyacım olan tek şey bir program değil, tek satırlık basitti.
DCookie

2
Kabul. Buradaki cevaplardan bazıları neredeyse "MS SQL Sunucusunu kurun, bir SQL İstemcisi ile bağlanın ve komutu çalıştırın SELECT CONVERT(VARCHAR(16), GETDATE(), 112)" gibi görünüyor.
isapir

2
ISO-8601 biçiminde tarih-saat%date:~10,4%%date:~7,2%%date:~4,2%T%time:~0,2%%time:~3,2%%time:~6,2%
isapir

3
Diğer yanıtların bir program gibi görünmesinin nedeni, basit olmasına rağmen, Windows bölgesel ayarlarınız bu kodun beklediği şekilde yapılandırılmamışsa (yani bu kod her Windows sisteminde çalışmayacaktır ) bu yanıtın başarısız olmasıdır
Daniel Scott

20

Zaman ayarlarına bağlı olmayan iki yol daha (her ikisi de Verileri nasıl alır / yerelleştirmeden bağımsız zaman bölümünden alınır ). Her ikisi de haftanın gününü alır ve hiçbiri yönetici izni gerektirmez !:

  1. MAKECAB - HER Windows sisteminde çalışır (hızlı, ancak küçük bir geçici dosya oluşturur) (foxidrive betiği):

    @echo off
    pushd "%temp%"
    makecab /D RptFileName=~.rpt /D InfFileName=~.inf /f nul >nul
    for /f "tokens=3-7" %%a in ('find /i "makecab"^<~.rpt') do (
        set "current-date=%%e-%%b-%%c"
        set "current-time=%%d"
        set "weekday=%%a"
    )
    del ~.*
    popd
    echo %weekday% %current-date% %current-time%
    pause
    
  2. ROBOCOPY - Windows XP ve Windows Server 2003 için yerel bir komut değildir , ancak Microsoft sitesinden indirilebilir . Ancak Windows Vista ve üzeri her şeyde yerleşiktir:

    @echo off
    setlocal
    for /f "skip=8 tokens=2,3,4,5,6,7,8 delims=: " %%D in ('robocopy /l * \ \ /ns /nc /ndl /nfl /np /njh /XF * /XD *') do (
        set "dow=%%D"
        set "month=%%E"
        set "day=%%F"
        set "HH=%%G"
        set "MM=%%H"
        set "SS=%%I"
        set "year=%%J"
    )
    
    echo Day of the week: %dow%
    echo Day of the month : %day%
    echo Month : %month%
    echo hour : %HH%
    echo minutes : %MM%
    echo seconds : %SS%
    echo year : %year%
    endlocal
    

    Ve diğer Windows komut dosyası dillerini kullanan üç yol daha. Size daha fazla esneklik sağlarlar, örneğin yılın haftasını, milisaniye cinsinden zamanı vb. Alabilirsiniz.

  3. JScript / BATCH hibrit (olarak kaydedilmesi gerekir .bat). JScript, Windows NT ve üzeri her sistemde , Windows Script Host'un bir parçası olarak mevcuttur ( ancak kayıt defteri aracılığıyla devre dışı bırakılabilir, bu nadir bir durumdur ):

    @if (@X)==(@Y) @end /* ---Harmless hybrid line that begins a JScript comment
    
    @echo off
    cscript //E:JScript //nologo "%~f0"
    exit /b 0
    *------------------------------------------------------------------------------*/
    
    function GetCurrentDate() {
        // Today date time which will used to set as default date.
        var todayDate = new Date();
        todayDate = todayDate.getFullYear() + "-" +
                       ("0" + (todayDate.getMonth() + 1)).slice(-2) + "-" +
                       ("0" + todayDate.getDate()).slice(-2) + " " + ("0" + todayDate.getHours()).slice(-2) + ":" +
                       ("0" + todayDate.getMinutes()).slice(-2);
    
        return todayDate;
    }
    
    WScript.Echo(GetCurrentDate());
    
  4. VBScript / BATCH hibrit ( VBScript'i geçici bir dosya kullanmadan bir toplu iş dosyasına gömmek ve yürütmek mümkün müdür? ) Jscript ile aynı durumdur, ancak hibridizasyon o kadar mükemmel değildir:

    :sub echo(str) :end sub
    echo off
    '>nul 2>&1|| copy /Y %windir%\System32\doskey.exe %windir%\System32\'.exe >nul
    '& echo current date:
    '& cscript /nologo /E:vbscript "%~f0"
    '& exit /b
    
    '0 = vbGeneralDate - Default. Returns date: mm/dd/yy and time if specified: hh:mm:ss PM/AM.
    '1 = vbLongDate - Returns date: weekday, monthname, year
    '2 = vbShortDate - Returns date: mm/dd/yy
    '3 = vbLongTime - Returns time: hh:mm:ss PM/AM
    '4 = vbShortTime - Return time: hh:mm
    
    WScript.echo  Replace(FormatDateTime(Date, 1), ", ", "-")
    
  5. PowerShell - .NET'e sahip her makineye yüklenebilir - Microsoft'tan indirme ( v1 , v2 ve v3 (yalnızca Windows 7 ve üzeri için)). Windows 7 / Win2008 ve üstü her şeye varsayılan olarak yüklenir:

    C:\> powershell get-date -format "{dd-MMM-yyyy HH:mm}"
    
  6. Kendi kendine derlenmiş jscript.net/batch (.NET içermeyen bir Windows makinesi hiç görmedim, bu yüzden bunun oldukça taşınabilir olduğunu düşünüyorum):

    @if (@X)==(@Y) @end /****** silent line that start jscript comment ******
    
    @echo off
    ::::::::::::::::::::::::::::::::::::
    :::       Compile the script    ::::
    ::::::::::::::::::::::::::::::::::::
    setlocal
    if exist "%~n0.exe" goto :skip_compilation
    
    set "frm=%SystemRoot%\Microsoft.NET\Framework\"
    :: searching the latest installed .net framework
    for /f "tokens=* delims=" %%v in ('dir /b /s /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
        if exist "%%v\jsc.exe" (
            rem :: the javascript.net compiler
            set "jsc=%%~dpsnfxv\jsc.exe"
            goto :break_loop
        )
    )
    echo jsc.exe not found && exit /b 0
    :break_loop
    
    
    call %jsc% /nologo /out:"%~n0.exe" "%~dpsfnx0"
    ::::::::::::::::::::::::::::::::::::
    :::       End of compilation    ::::
    ::::::::::::::::::::::::::::::::::::
    :skip_compilation
    
    "%~n0.exe"
    
    exit /b 0
    
    
    ****** End of JScript comment ******/
    import System;
    import System.IO;
    
    var dt=DateTime.Now;
    Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss"));
    
  7. Logman Bu, haftanın yılını ve gününü alamaz. Nispeten yavaştır, ayrıca bir geçici dosya oluşturur ve logman'ın günlük dosyalarına koyduğu zaman damgalarına dayanır. Windows XP ve üzeri her şeyi çalıştıracak. Muhtemelen hiç kimse tarafından kullanılmayacak - ben dahil - ama bir yolu daha ...

    @echo off
    setlocal
    del /q /f %temp%\timestampfile_*
    
    Logman.exe stop ts-CPU 1>nul 2>&1
    Logman.exe delete ts-CPU 1>nul 2>&1
    
    Logman.exe create counter ts-CPU  -sc 2 -v mmddhhmm -max 250 -c "\Processor(_Total)\%% Processor Time" -o %temp%\timestampfile_ >nul
    Logman.exe start ts-CPU 1>nul 2>&1
    
    Logman.exe stop ts-CPU >nul 2>&1
    Logman.exe delete ts-CPU >nul 2>&1
    for /f "tokens=2 delims=_." %%t in  ('dir /b %temp%\timestampfile_*^&del /q/f %temp%\timestampfile_*') do set timestamp=%%t
    
    echo %timestamp%
    echo MM: %timestamp:~0,2%
    echo dd: %timestamp:~2,2%
    echo hh: %timestamp:~4,2%
    echo mm: %timestamp:~6,2%
    
    endlocal
    exit /b 0
    

Get-Date işlevi hakkında daha fazla bilgi .



8

Joey'nin yöntemini gerçekten beğendim, ama biraz daha açabileceğimi düşündüm.

Bu yaklaşımda, kodu birden çok kez çalıştırabilir ve eski tarih değerinin "takılıp kalması" konusunda endişelenmeyin çünkü zaten tanımlanmıştır.

Bu toplu iş dosyasını her çalıştırdığınızda, ISO 8601 uyumlu birleşik bir tarih ve saat temsili çıktı verecektir.

FOR /F "skip=1" %%D IN ('WMIC OS GET LocalDateTime') DO (SET LIDATE=%%D & GOTO :GOT_LIDATE)
:GOT_LIDATE
SET DATETIME=%LIDATE:~0,4%-%LIDATE:~4,2%-%LIDATE:~6,2%T%LIDATE:~8,2%:%LIDATE:~10,2%:%LIDATE:~12,2%
ECHO %DATETIME%

Bu sürümde, aynı kodu dosyadaki birden çok yere kopyalamamaya / yapıştırmamaya dikkat etmelisiniz, çünkü bu, yinelenen etiketlere neden olur. Ya her kopya için ayrı bir etiketiniz olabilir ya da bu kodu kendi toplu iş dosyasına koyabilir ve gerektiğinde kaynak dosyanızdan çağırabilirsiniz.


5

Sadece %date%değişkeni kullanın :

echo %date%

5
Bu, tarihi şu anda yapılandırılmış kısa tarih biçimi ne olursa olsun döndürür. Bu nadiren ISO-8601'dir.
Joey

@Joey Kabul - Buradayım çünkü bu güvenmek için yeterince iyi değil.
SteveCinq

5

@ProVi'nin cevabına göre, istediğiniz biçimlendirmeye uyacak şekilde değiştirin

echo %DATE:~10,4%-%DATE:~7,2%-%DATE:~4,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%

dönecek

yyyy-MM-dd hh:mm:ss
2015-09-15 18:36:11

DÜZENLE @Jeb yorumuna göre, yukarıdaki saat formatı yalnızca DATE / T komutunuz döndüğünde çalışacaktır.

ddd dd/mm/yyyy
Thu 17/09/2015

Yerel ayarlarınıza uyacak şekilde düzenlemek kolaydır, ancak, ilgili% DATE% ortam değişkeni tarafından döndürülen dizedeki her karakterin indekslenmesini kullanarak, ihtiyacınız olan dizenin parçalarını çıkarabilirsiniz.

Örneğin. % DATE ~ 10,4% kullanılması, DATE ortam değişkenini genişletir ve sonra yalnızca genişletilmiş sonucun 11. (ofset 10) karakterinde başlayan 4 karakteri kullanır

Örneğin, ABD tarzı tarihler kullanılıyorsa, aşağıdakiler geçerlidir

ddd mm/dd/yyyy
Thu 09/17/2015

echo %DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
2015-09-17 18:36:11

Tarih / saat biçimi ayarlarınıza bağlı olarak dünyanın yalnızca bazı yerlerinde çalıştığı için yalnızca bazı insanlar için bir çözümdür
Ocak

3

Bunu yaparak bir ortam değişkenini istenen sayısal formattaki değere ayarlıyorum:

FOR /F "tokens=1,2,3,4 delims=/ " %a IN ('echo %date%') DO set DateRun=%d-%b-%c

2

Bunu kontrol et..

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "MS=%dt:~15,3%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%-%MS%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause

2

Python yüklediyseniz şunları yapabilirsiniz:

python -c "import datetime;print(datetime.date.today().strftime('%Y-%m-%d'))"

Biçim dizesini ihtiyaçlarınıza göre kolayca uyarlayabilirsiniz.


2
Soruya yanıt olarak "Python kullan" demek ne şekilde?
Ross Presser

3
MAKECAB, ROBOCOPY, VBSCRIPT, POWERSHELL Logman ve komut satırından çağırabileceğiniz diğer önerileri kullanmakla aynı şekilde?
CodeKid

Bu basitleştirilebilir python -c "import datetime;print(datetime.date.today())"çünkü __str__yöntemi datesınıfının sadece çağırır isoformat().
onewhaleid

2

PowerShell'i kullanmak ve çıktısını bir döngü kullanarak bir ortam değişkenine yönlendirmek mümkündür.

Komut satırından ( cmd):

for /f "tokens=*" %a in ('powershell get-date -format "{yyyy-MM-dd+HH:mm}"') do set td=%a

echo %td%
2016-25-02+17:25

Bir toplu dosyada kaçabileceği %aolarak %%a:

for /f "tokens=*" %%a in ('powershell get-date -format "{yyyy-MM-dd+HH:mm}"') do set td=%%a

1
Maskeleme bu FOR /F "tokens=*" %%a IN ('powershell get-date -format "{yyyy\-MM\-dd\THH\:mm\:ss}"') DO SET date=%%a şekilde olmalıdır, bu nedenle ay için üst MM ve değişmez karakterlerden kaçınmak için ters eğik çizgi kullanın.
2016'da

1

Tarih ve saat biçimi konuma özgü bilgiler olduğundan, bunları% date% ve% time% değişkenlerinden almak, dizeyi biçim dönüşümü dikkate alınarak ayrıştırmak için fazladan çaba gerektirecektir. Veri yapısını almak ve istediğiniz gibi ayrıştırmak için biraz API kullanmak iyi bir fikirdir. WMIC iyi bir seçimdir. Aşağıdaki örnek Win32_LocalTime kullanır . Win32_CurrentTime veya Win32_UTCTime'ı da kullanabilirsiniz .

@echo off  
SETLOCAL ENABLEDELAYEDEXPANSION  
for /f %%x in ('wmic path Win32_LocalTime get /format:list ^| findstr "="') do set %%x  
set yyyy=0000%Year%  
set mmmm=0000%Month%  
set dd=00%Day%  
set hh=00%Hour%  
set mm=00%Minute%  
set ss=00%Second%  
set ts=!yyyy:~-4!-!mmmm:~-2!-!dd:~-2!_!hh:~-2!:!mm:~-2!:!ss:~-2!  
echo %ts%  
ENDLOCAL  

Sonuç:
2018-04-25_10: 03: 11


1

Bu, Joey'nin zamanı dahil etme ve bölümleri 0'larla doldurma yanıtının bir uzantısıdır.

Örneğin, sonuç 2019-06-01_17-25-36 olacaktır. Ayrıca, bunun UTC zamanı olduğunu unutmayın.

  for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do set %%x

  set Month=0%Month%
  set Month=%Month:~-2%
  set Day=0%Day%
  set Day=%Day:~-2%
  set Hour=0%Hour%
  set Hour=%Hour:~-2%
  set Minute=0%Minute%
  set Minute=%Minute:~-2%
  set Second=0%Second%
  set Second=%Second:~-2%

  set TimeStamp=%Year%-%Month%-%Day%_%Hour%-%Minute%-%Second%


0

Ben aşağıdakileri kullanıyorum:

set iso_date=%date:~6,4%-%date:~3,2%-%date:~0,2%

Veya günlük dosyası adı 'MyLogFileName' ile birlikte:

set log_file=%date:~6,4%-%date:~3,2%-%date:~0,2%-MyLogFileName

2
Peki cevabınız diğer 16 sorudan farklı veya daha iyi nerede? Ve bu çözümün yalnızca yerelleştirmeniz için işe
yarayacağına

0

Powershell varsa, aşağıdaki kodları kullanabilirsiniz:

# get date
$BuildDate=(get-date -format "yyMMdd")
echo BuildDate=$BuildDate

# get time
$BuildTime=(get-date -format "hhmmss")
echo BuildTime=$BuildTime

İşte sonuç:

BuildDate=200518
BuildTime=115919

-2

Güvenilir bir çözüm elde etmek için tek seferlik 10 ila 30 dakikalık bir yatırımın sakıncası yoksa (bu, Windows'un bölge ayarlarına bağlı değildir), lütfen okumaya devam edin.

Aklımızı serbest bırakalım. Senaryoları sadece böyle görünecek şekilde basitleştirmek ister misiniz? (LOG_DATETIME değişkenini ayarlamak istediğinizi varsayın)

FOR /F "tokens=* USEBACKQ" %%F IN (`FormatNow "yyyy-MM-dd"`) DO (
  Set LOG_DATETIME=%%F
)

echo I am going to write log to Testing_%LOG_DATETIME%.log

Yapabilirsin. Basitçe C # .NET ile bir FormatNow.exe oluşturun ve PATH'inize ekleyin.

Notlar:

  1. FormatNow.exe dosyasını oluşturmak için Visual Studio Express gibi herhangi bir Visual Studio sürümünü kullanabilirsiniz.
  2. Visual Studio'da "Windows Forms Application" projesini değil, "Konsol Uygulaması" C # projesini seçin.
  3. Sağduyu: yerleşik FormatNow.exe dosyasının çalışması için .NET Framework gerekir.
  4. Sağduyu: PATH değişkenine FormatNow.exe'yi ekledikten sonra, etkili olması için CMD'yi yeniden başlatmanız gerekir. Aynı zamanda ortam değişkenlerindeki herhangi bir değişiklik için de geçerlidir.

Faydaları:

  1. Yavaş değil (0,2 saniyede bitiyor).
  2. Birçok format desteklenir https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx, örneğin, yalnızca haftanın gününü almak için FormatNow "ddd", yalnızca almak için FormatNow "yyyy" yıl
  3. Windows'un bölge ayarlarına bağlı değildir, bu nedenle çıktısı çok daha güvenilirdir. Öte yandan,% date% farklı bilgisayarlarda tutarlı bir biçim vermez ve güvenilir değildir.
  4. Çok fazla CMD değişkeni oluşturmanıza ve değişken ad alanını kirletmenize gerek yok.
  5. Programı başlatmak ve sonuçları almak için toplu komut dosyasında 3 satır gerekir. Yeterince kısa olmalı.

Visual Studio 2010 ile oluşturduğum FormatNow.exe'nin kaynak kodu (Bilinmeyen, muhtemelen kötü niyetli bir programı indirme riskini önlemek için onu kendim oluşturmayı tercih ederim). Aşağıdaki kodları kopyalayıp yapıştırın, programı bir kez oluşturun ve ardından gelecekteki tüm kullanımlar için güvenilir bir tarih biçimlendiriciniz olsun.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace FormatNow
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                if (args.Length < 1)
                {
                    throw new ArgumentException("Missing format");
                }
                string format = args[0];
                Console.Write(DateTime.Now.ToString(format, CultureInfo.InvariantCulture.DateTimeFormat));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

    }
}

Genel olarak, karmaşık mantıklarla uğraşırken, çok küçük bir program oluşturarak ve çıktıyı bunun yerine bir toplu komut dosyası değişkenine geri almak için programı çağırarak işi daha basit hale getirebiliriz. Öğrenci değiliz ve sorunları çözmek için yalnızca toplu komut dosyası kuralına uymamızı gerektiren sınavlara girmiyoruz. Gerçek çalışma ortamında, herhangi bir (yasal) yönteme izin verilir. Neden hala birçok basit görev için geçici çözümlere ihtiyaç duyan Windows toplu komut dosyasının zayıf yeteneklerine bağlı kalmalıyız? İş için neden yanlış aleti kullanmalıyız?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.