Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Перенос произвольного файла из папки

Ответить
Настройки темы
VBS/WSH/JS - [решено] Перенос произвольного файла из папки

Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Уважаемые гуру, помогите пожалуйста в создании скрипта.
Есть папка c:/profiles
В ней много файлов *.ini с различными названиями
Необходимо брать рандомный (произвольный) из них и копировать(с заменой) его на c:/ , при этом переименовывая в 1.ini

Предельно буду благодарен за любую помощь! Спасибо!

Отправлено: 16:16, 16-01-2012

 

Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


XXXp, Обязательно VBS/WSH/JS ?

На всякий случай батник:
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in (' dir /b "c:\profiles\*.ini" ') do call:1 "%%i"
for /f "tokens=2 delims==" %%i in (' set ini_ ') do set "file=%%i"
copy /y "c:\profiles\%file%" c:\1.ini
goto:eof

:1
set "ini_%random%=%~1"
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:01, 16-01-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нет, не обязательно vbs/wsh/js
бат вполне подойдет, спасибо!
Только произвольность файла плохо работает, возможно её немного улучшить? У меня 14 файлов .ini, я запустил батник 4 раза, из них 3 раза он попал на один и тот же файл .ini

А потом ещё 3 раза с интервалом секунда в 7 для проверки и все три раза попал в один файл

Отправлено: 18:14, 16-01-2012 | #3


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


XXXp, а так?
Код: Выделить весь код
@Echo Off
SetLocal
For %%A In ("C:\profiles\*.ini") Do Set /A Cnt+=1
Set /A Cnt=%RANDOM%*%cnt%/32768+1
For /F "Tokens=1* Delims=:" %%A In ('Dir /B /A-D "C:\profiles\*.ini"^|FindStr /n .') Do If %%A EQU %Cnt% Copy /Y "C:\profiles\%%B" "C:\1.ini"
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:24, 16-01-2012 | #4


Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Почему-то не работает...(

А нет, извиняюсь, работает, но рандомность вообще никакая, из 10 раз 9 попадает по одному файлу (при общем кол-ве 14)

Отправлено: 18:31, 16-01-2012 | #5


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата XXXp:
я запустил батник 4 раза, из них 3 раза он попал на один и тот же файл .ini »
Я попробовал, и у меня все отлично:
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:46, 16-01-2012 | #6


Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Наверное, вы правы, перепроверил, стало намного лучше, видимо случайно в первый раз так совпало)

Отправлено: 18:53, 16-01-2012 | #7


Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Извините, хотел ещё вопрос узнать, как доработать данный бат файл
Появилась необходимость, одновременно с данным файлом ini из папки profiles, копировать из папки c:\profiles в папку C:\Users\user\ ОДНОИМЕННЫЙ файл .conf, т.е. имя полностью идентичное файлу *.ini, только расширение файла .conf, при этом этот файл также нужно переменовать(с заменой) в user.conf
Подскажите пожалуйста, как это сделать, буду очень благодарен

Последний раз редактировалось XXXp, 16-01-2012 в 22:02.


Отправлено: 21:29, 16-01-2012 | #8


Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Чтобы было понятнее, есть много файлов .ini и точно такое же кол-во файлов с аналогичными названиями .conf
необходимо, чтоб допустим файл 43252.ini был рандомно выбран из всех файлов из папки c:\profiles и скопирован с заменой на c:\, затем переименован в 1.ini
А одноименный файл 43252.conf был скопирован из этой же папки (c:\profiles), скопирован в папку c:\Users\user и переименован в user.conf
Спасибо заранее большое!

Отправлено: 22:02, 16-01-2012 | #9


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in (' dir /b "c:\profiles\*.ini" ') do call:1 "%%i"
for /f "tokens=2 delims==" %%i in (' set ini_ ') do set "file=%%i"

copy /y "c:\profiles\%file%.ini" "c:\1.ini"
copy /y "c:\profiles\%file%.conf" "c:\users\user\user.conf"

goto:eof

:1
set "ini_%random%=%~n1"
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:38, 16-01-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Перенос произвольного файла из папки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - [решено] Перенос папки Users на другой диск R.i.m.s.k.y. Microsoft Windows 7 1 09-09-2011 13:55
CMD/BAT - Перенос данных из реестра в название папки beata08 Скриптовые языки администрирования Windows 2 24-02-2011 15:07
(solved) Автоматический перенос папки Мои документы ger_kar Автоматическая установка Windows 2000/XP/2003 5 15-05-2010 01:54
Установка - перенос данных из папки Windows.old Vistanoob Microsoft Windows Vista 0 09-05-2009 18:33
VBA - Перенос Excel файла с макросами SergOst Программирование и базы данных 7 05-02-2009 08:28




 
Переход