ФорумРазработкаSEO → Судьба BAT в ваших руках, обоснуйте что это не последнее говно

Судьба BAT в ваших руках, обоснуйте что это не последнее говно

  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 10 января 2011 г. 12:20

    Во общем необходимо решить такую задачу

    1. открыть папку C:\scripttest
    2. вытащить список всех файлов
    3. переименовать их в *.log (изменить расширение на лог короче)

    варианты решения на разных языках:
    <?php
    $dir = "C:\\scripttest\\";
    $handle = opendir($dir);
    while (false !== ($file = readdir($handle))) {
    if ($file !== '.' && $file !== '..') {
    rename($dir.$file, $dir.strtok($file, '.').'.log');
    }
    }
    closedir($handle);

    import os

    directory = 'C:\\scripttest\\';
    files = os.listdir(directory);

    for i in range(0, len(files)):
    os.rename(directory+files, directory+os.path.splitext(files)[0]+'.log');

    [с#]using System;
    using System.IO;

    namespace zadacha
    {
    class Program
    {
    public static void Main(string[] args)
    {
    string[] files = Directory.GetFiles(@"c:\scripttest", "*");

    foreach (string file in files)
    {
    string newfilename = string.Format("{0}.log", Path.GetFileNameWithoutExtension(file));
    File.Move(file, @"c:\scripttest\"+newfilename);
    }
    }
    }
    }[/с#]

    но решить её нужно именно на бат, иначе бат говно а я проспорю

    вообщем вот что я накатал уже

    @echo off
    :var
    setlocal enableextensions enabledelayedexpansion

    :begin
    c: && cd scripttest
    for /f "tokens=*" %%a in ('dir /b *.*') do call :filefunction %%a

    :filefunction
    :: ———————–
    :: Rename *.* to *.log
    :: ———————–
    :: @param string %1 file
    :: @return string
    :: ———————–
    set ext=%1
    set ext=%ext:*.=%
    set name=%1
    call :strlen %ext%
    set /a length=%$returnvalue% + 1
    set result=%name:~0,-4%
    rem set name=%name:ext=log%
    :: БЛЯ ВОТ ТУТ ПО ИДЕЕ Я ДОЛЖЕН УЖЕ ПЕРЕИМЕНОВАТЬ, НО Я ДОЛЖЕН СОСТРЯПАТЬ ИМЯ КОНЕЧНОГО ФАЙЛА
    :: ИМЕЕТСЯ РАСШИРЕНИЕ КОНЕЧНОГО ФАЙЛА - log
    :: ИМЕЕТСЯ ПОЛНОЕ ИМЯ НАЧАЛЬНОГО ФАЙЛА %1 (допустим 1.txt)
    :: ИМЕЕТСЯ РАСШИРЕНИЕ НАЧАЛЬНОГО ФАЙЛА (допустим txt)
    :: ПЛАНИРОВАЛ ВЫЧЕСТЬ ДЛИНУ СТРОКИ С КОНЦА ИЗ ПОЛНОГО ИМЕНИ ЧТОБЫ ПОЛУЧИТЬ НОРМАЛЬНОЕ ИМЯ
    :: БЕЗ РАСШИРЕНИЯ, И ПОТОМ ЕГО СКОНКАТЕНИРОВАТЬ С РАСШИРЕНИЕМ log НО НИХУЯ НЕ ВЫХОДИТ
    :: ВООБЩЕМ Я ХУЙ
    :: ———————–
    exit /b 0

    :strlen
    :: ———————–
    :: Find String Length
    :: ———————–
    :: @param string %1
    :: @return integer
    :: ———————–
    Set $returnvalue=0&Set $StringBuf=%~1
    If ""=="%~1" GoTo :EOF
    :strlenprocessor
    Set /A $returnvalue+=1
    Call Set $StringChr=%%$StringBuf:~%$returnvalue%%%
    If ""=="%$StringChr%" GOTO :EOF
    GoTo :strlenprocessor


    * лютобешеноплачет.jpg *
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 10 января 2011 г. 12:22, спустя 1 минуту 55 секунд

    похую мороз
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 10 января 2011 г. 12:23, спустя 41 секунду

    кстати у вас подсветка сломалась снова c#
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 10 января 2011 г. 12:25, спустя 1 минуту 55 секунд


    КАКОЕ НАХУЙ СЕО БЛЯДЬ?!


    А ХУЛИ ТАМ НАПИСАНО ОБЩИЕ ВОПРОСЫ БЛЯТЬ Я НАЗВАНИЕ ФОРУМА НЕ ВИДЕЛ!
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 10 января 2011 г. 12:27, спустя 2 минуты 41 секунду




    КАКОЕ НАХУЙ СЕО БЛЯДЬ?!


    А ХУЛИ ТАМ НАПИСАНО ОБЩИЕ ВОПРОСЫ БЛЯТЬ Я НАЗВАНИЕ ФОРУМА НЕ ВИДЕЛ!
    хуй-то свой видишь?


    да
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 10 января 2011 г. 12:28, спустя 39 секунд


    using System;

    class Program
    {
      prublic Main(string[] args)
      {
          Console.WriteLine("пиздежь");
      }
    }
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 10 января 2011 г. 12:31, спустя 3 минуты 2 секунды



    using System;

    class Program
    {
      prublic Main(string[] args)
      {
          Console.WriteLine("пиздежь");
      }
    }



    [с#]using System;
    using System.IO;

    namespace zadacha
    {
    class Program
    {
    public static void Main(string[] args)
    {
    string[] files = Directory.GetFiles(@"c:\scripttest", "*");

    foreach (string file in files)
    {
    string newfilename = string.Format("{0}.log", Path.GetFileNameWithoutExtension(file));
    File.Move(file, @"c:\scripttest\"+newfilename);
    }
    }
    }
    }[/с#]
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 10 января 2011 г. 13:59, спустя 1 час 28 минут 13 секунд

    наверно только у джедаев сишарповская подсветка работает
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 10 января 2011 г. 14:17, спустя 17 минут 36 секунд

    Абырвалг, уверен, что нет. парсер бб кодов не знает какую часть страницы он рендерит, не тупи
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 10 января 2011 г. 14:45, спустя 28 минут 8 секунд

    я просто хотел петраснуть юморца
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 10 января 2011 г. 14:46, спустя 28 секунд

    using System;
    using System.IO;

    namespace zadacha
    {
    class Program
    {
    public static void Main(string[] args)
    {
    string[] files = Directory.GetFiles(@"c:\scripttest", "*");

    foreach (string file in files)
    {
    string newfilename = string.Format("{0}.log", Path.GetFileNameWithoutExtension(file));
    File.Move(file, @"c:\scripttest\" + newfilename);
    }
    }
    }
    }
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 10 января 2011 г. 14:56, спустя 10 минут 3 секунды

    обосрались профи? :D
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 11 января 2011 г. 3:23, спустя 12 часов 27 минут 48 секунд


    for i in range(0, len(files)):
    os.rename(directory+files, directory+os.path.splitext(files)[0]+'.log');


    где скопипастил? :)


    for file in files:
    os.rename(directory + file, directory + os.path.splitext(file)[0] + '.log')
    adw/0
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 11 января 2011 г. 10:49, спустя 7 часов 25 минут 51 секунду



    for i in range(0, len(files)):
    os.rename(directory+files, directory+os.path.splitext(files)[0]+'.log');


    где скопипастил? :)


    for file in files:
    os.rename(directory + file, directory + os.path.splitext(file)[0] + '.log')



    сам сговнокодил же, спасибо за корректировку)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!