Здравствуйте! Подскажите пожалуйста, как скопировать определенный файл в только что созданную папку с датой. Папка создавалась через bat-файл
» Командная строка, батники, сценарии (bat, cmd)
19101981
Не совсем понимаю - если папку создали, то известно ее название. Тогда копируем командой copy:
Код:
copy "полный_путь_к_файлу" "полный_путь_к_папке\"
например
copy "c:\file.txt" "d:\210507\"
Не совсем понимаю - если папку создали, то известно ее название. Тогда копируем командой copy:
Код:
copy "полный_путь_к_файлу" "полный_путь_к_папке\"
например
copy "c:\file.txt" "d:\210507\"
Elroir
хотелось бы чтобы формат даты был такой:
210507
а со скриптом создается папка такого вида
2152007
и еще
я правильно изменил скрипт в конце?
DEL /q tmp.vbs
md %TwoDaysLater%
move G:\temp\*.nnn %TwoDaysLater%>nul
copy %Today%\*.nnn G:\temp\>nul
хотелось бы чтобы формат даты был такой:
210507
а со скриптом создается папка такого вида
2152007
и еще
я правильно изменил скрипт в конце?
DEL /q tmp.vbs
md %TwoDaysLater%
move G:\temp\*.nnn %TwoDaysLater%>nul
copy %Today%\*.nnn G:\temp\>nul
Ex0dus
Цитата:
Код:
@echo off
setlocal enabledelayedexpansion
echo if weekday(date)=vbFriday then>tmp.vbs
echo wscript.echo day(date) ^& " " ^& month(date) ^& " " ^& year(date) ^& " " ^& day(date+3) ^& " " ^& month(date+3) ^& " " ^& year(date+3)>>tmp.vbs
echo else>>tmp.vbs
echo wscript.echo day(date) ^& " " ^& month(date) ^& " " ^& year(date) ^& " " ^& day(date+2) ^& " " ^& month(date+2) ^& " " ^& year(date+2)>>tmp.vbs
echo end if>>tmp.vbs
FOR /F "tokens=1-6" %%A IN ('cscript tmp.vbs //Nologo') DO (
set "TodayDay=%%A"
set "TodayMonth=%%B"
set "TodayYear=%%C"
set "TwoDaysLaterDay=%%D"
set "TwoDaysLaterMonth=%%E"
set "TwoDaysLaterYear=%%F"
if !TodayDay! LSS 10 set "TodayDay=0!TodayDay:~-1!"
if !TodayMonth! LSS 10 set "TodayMonth=0!TodayMonth:~-1!"
if !TwoDaysLaterDay! LSS 10 set "TwoDaysLaterDay=0!TwoDaysLaterDay:~-1!"
if !TwoDaysLaterMonth! LSS 10 set "TwoDaysLaterMonth=0!TwoDaysLaterMonth:~-1!"
set "TodayYear=!TodayYear:~-2!"
set "TwoDaysLaterYear=!TwoDaysLaterYear:~-2!"
)
set "Today=%TodayDay%%TodayMonth%%TodayYear%"
set "TwoDaysLater=%TwoDaysLaterDay%%TwoDaysLaterMonth%%TwoDaysLaterYear%"
DEL /q tmp.vbs
md %TwoDaysLater%
move G:\temp\*.nnn %TwoDaysLater%>nul
copy %Today%\*.nnn G:\temp\>nul
Цитата:
хотелось бы чтобы формат даты был такой: 210507
Код:
@echo off
setlocal enabledelayedexpansion
echo if weekday(date)=vbFriday then>tmp.vbs
echo wscript.echo day(date) ^& " " ^& month(date) ^& " " ^& year(date) ^& " " ^& day(date+3) ^& " " ^& month(date+3) ^& " " ^& year(date+3)>>tmp.vbs
echo else>>tmp.vbs
echo wscript.echo day(date) ^& " " ^& month(date) ^& " " ^& year(date) ^& " " ^& day(date+2) ^& " " ^& month(date+2) ^& " " ^& year(date+2)>>tmp.vbs
echo end if>>tmp.vbs
FOR /F "tokens=1-6" %%A IN ('cscript tmp.vbs //Nologo') DO (
set "TodayDay=%%A"
set "TodayMonth=%%B"
set "TodayYear=%%C"
set "TwoDaysLaterDay=%%D"
set "TwoDaysLaterMonth=%%E"
set "TwoDaysLaterYear=%%F"
if !TodayDay! LSS 10 set "TodayDay=0!TodayDay:~-1!"
if !TodayMonth! LSS 10 set "TodayMonth=0!TodayMonth:~-1!"
if !TwoDaysLaterDay! LSS 10 set "TwoDaysLaterDay=0!TwoDaysLaterDay:~-1!"
if !TwoDaysLaterMonth! LSS 10 set "TwoDaysLaterMonth=0!TwoDaysLaterMonth:~-1!"
set "TodayYear=!TodayYear:~-2!"
set "TwoDaysLaterYear=!TwoDaysLaterYear:~-2!"
)
set "Today=%TodayDay%%TodayMonth%%TodayYear%"
set "TwoDaysLater=%TwoDaysLaterDay%%TwoDaysLaterMonth%%TwoDaysLaterYear%"
DEL /q tmp.vbs
md %TwoDaysLater%
move G:\temp\*.nnn %TwoDaysLater%>nul
copy %Today%\*.nnn G:\temp\>nul
Elroir
и еще одну поправку плиз:
папки с датами в названии лежат в G:\temp\bak
скрипт же я так понимаю читает их из корня G:\temp\
и еще вопрос:
я так понимаю скрипт будет работать только если его положить в папку G:\temp\?
где учат такому гурускриптингу?
и еще одну поправку плиз:
папки с датами в названии лежат в G:\temp\bak
скрипт же я так понимаю читает их из корня G:\temp\
и еще вопрос:
я так понимаю скрипт будет работать только если его положить в папку G:\temp\?
где учат такому гурускриптингу?
Ex0dus
Цитата:
Меняем последние 3 строчки:
Код:
md G:\temp\bak\%TwoDaysLater%
move G:\temp\*.nnn G:\temp\bak\%TwoDaysLater%>nul
copy G:\temp\bak\%Today%\*.nnn G:\temp\>nul
Цитата:
и еще одну поправку плиз: папки с датами в названии лежат в G:\temp\bak
скрипт же я так понимаю читает их из корня G:\temp\
Меняем последние 3 строчки:
Код:
md G:\temp\bak\%TwoDaysLater%
move G:\temp\*.nnn G:\temp\bak\%TwoDaysLater%>nul
copy G:\temp\bak\%Today%\*.nnn G:\temp\>nul
Ввел новую переменную среды %variable% с путем D:/Files.
Как сделать, чтобы при создании ярлыка на любую папку в директории D:/Files, путь в ярлыке выглядел не так D:/Files/Papka, а так %variable%/Files/Papka? То есть вопрос в том, чтобы это происходило автоматом, а не менять вручную каждый раз.
Как сделать, чтобы при создании ярлыка на любую папку в директории D:/Files, путь в ярлыке выглядел не так D:/Files/Papka, а так %variable%/Files/Papka? То есть вопрос в том, чтобы это происходило автоматом, а не менять вручную каждый раз.
Igor99999
Цитата:
Насколько я знаю - никак.
Цитата:
Как сделать,...
Насколько я знаю - никак.
Elroir
А почему после ввода переменной компьютер начинает подвисать на 1-2 мин при попытке обратиться к свойствам ярлыка? Ярлык ссылается на место, прописанное в переменной.
А почему после ввода переменной компьютер начинает подвисать на 1-2 мин при попытке обратиться к свойствам ярлыка? Ярлык ссылается на место, прописанное в переменной.
Igor99999
Не знаю почему у тебя подвисает - у меня все работает нормально.
Что именно ты меняешь в ярлыке?
Не знаю почему у тебя подвисает - у меня все работает нормально.
Что именно ты меняешь в ярлыке?
Elroir
Переменную создал через Мой компьютер - свойства - дополнительно - переменные среды. Переменная работает.
G:/Files/Papka одно и то же, что и %variable%/Files/Papka
Подвисает не когда меняю, а когда нажимаю свойства ярлыка или даже невозможно создать ярлык из-за подвисания. Если переменная не прописана, то все нормально. На это может влиять размер диска G 250 Гб?
Переменную создал через Мой компьютер - свойства - дополнительно - переменные среды. Переменная работает.
G:/Files/Papka одно и то же, что и %variable%/Files/Papka
Подвисает не когда меняю, а когда нажимаю свойства ярлыка или даже невозможно создать ярлык из-за подвисания. Если переменная не прописана, то все нормально. На это может влиять размер диска G 250 Гб?
Подскажите как решить две проблемки:
1) Как батником из папки удалить подпапки?
(Поставил батник в автозагрузку, чтобы каждый раз при старте чистил папку TMP, не спрашивая подтверждения. Но он чистит только файлы оттуда, а папки остаются.)
2) Как сделать, чтобы батник сам закрывался?
(Через батник запускается программа и остается висеть в памяти(так и нужно), но при этом окно батника не закрывается, а продолжает висеть.)
Спасибо.
1) Как батником из папки удалить подпапки?
(Поставил батник в автозагрузку, чтобы каждый раз при старте чистил папку TMP, не спрашивая подтверждения. Но он чистит только файлы оттуда, а папки остаются.)
2) Как сделать, чтобы батник сам закрывался?
(Через батник запускается программа и остается висеть в памяти(так и нужно), но при этом окно батника не закрывается, а продолжает висеть.)
Спасибо.
VovaII
Цитата:
Код:
cd /d c:\temp
rd /s /q c:\temp 2>nul
Цитата:
1) Как батником из папки удалить подпапки?
Код:
cd /d c:\temp
rd /s /q c:\temp 2>nul
Как должен выглядить скрипт, который:
1. Сделает ярлыки ко всем папкам (подпапкам) в определенной директории
2. Сложит все ярлыки в одну директорию
3. В свойствах ярлыка поставит вместо пути абсолютного путь относительный согласно прописанной переменной (%variable%/).
1. Сделает ярлыки ко всем папкам (подпапкам) в определенной директории
2. Сложит все ярлыки в одну директорию
3. В свойствах ярлыка поставит вместо пути абсолютного путь относительный согласно прописанной переменной (%variable%/).
Igor99999
Цитата:
Примерно так:
Код:
@echo off
md shortcuts 2>nul
for /f "tokens=*" %%a in ('dir /b /ad "%variable%\"') do (
nircmdc shortcut "~x25variable~x25\%%a" ".\shortcuts" "%%a"
)
Цитата:
Как должен выглядить скрипт
Примерно так:
Код:
@echo off
md shortcuts 2>nul
for /f "tokens=*" %%a in ('dir /b /ad "%variable%\"') do (
nircmdc shortcut "~x25variable~x25\%%a" ".\shortcuts" "%%a"
)
Elroir
Спасибо, скрипт работает, только он делает ярлыки ко всем папкам в корневой директории, а нужно еще ко всем поддиректориям, ко всему дереву поддиректорий в корневой директории. Это возможно?
Спасибо, скрипт работает, только он делает ярлыки ко всем папкам в корневой директории, а нужно еще ко всем поддиректориям, ко всему дереву поддиректорий в корневой директории. Это возможно?
может не в тему, но все-таки:
у меня в Windows XP не работает короткий путь C:\Progra~1\
может знает кто решение проблемы - перерыл реестр и инфу в инете - так и не решилось пока.
у меня в Windows XP не работает короткий путь C:\Progra~1\
может знает кто решение проблемы - перерыл реестр и инфу в инете - так и не решилось пока.
find
пользуйся переменной %ProgramFiles%
пользуйся переменной %ProgramFiles%
Igor99999
Цитата:
В коде Elroir-а в строке ('dir /b /ad "%variable%\"') добавь ключ "/s" (для всех вложенных каталогов)
dir /s /b /ad "%variable%\
Цитата:
нужно еще ко всем поддиректориям
В коде Elroir-а в строке ('dir /b /ad "%variable%\"') добавь ключ "/s" (для всех вложенных каталогов)
dir /s /b /ad "%variable%\
Maza Faka
С ключом /S ерунда получается. На поддиректории ярлыки делаются, но ярлыки получаются вида %variable%\D:\Files\Papka, а должны быть такого вида %variable%\Papka. Естественно ярлыки при этом не рабочие.
С ключом /S ерунда получается. На поддиректории ярлыки делаются, но ярлыки получаются вида %variable%\D:\Files\Papka, а должны быть такого вида %variable%\Papka. Естественно ярлыки при этом не рабочие.
Elroir
Спасибо!
Вопрос:
Цитата:
Зачем тут 2?
Спасибо!
Вопрос:
Цитата:
rd /s /q c:\temp 2>nul
Зачем тут 2?
VovaII
2>nul - перенаправление ошибок в 0, что бы не светились
2>nul - перенаправление ошибок в 0, что бы не светились
ALL
Вопрос: Почему такой бесхитростный пакетник
Код: @ping -n 1 128.0.0.1>nul && IF %errorlevel% == 0 (ECHO OK) ELSE (ECHO No)
Вопрос: Почему такой бесхитростный пакетник
Код: @ping -n 1 128.0.0.1>nul && IF %errorlevel% == 0 (ECHO OK) ELSE (ECHO No)
mozers
Команда после "&&" выполняется, только если предыдущая команда(до &&) завершилась успешно.
@ping -n 1 128.0.0.1>NUL & IF ERRORLEVEL 1 (ECHO NO) ELSE ECHO OK
Команда после "&&" выполняется, только если предыдущая команда(до &&) завершилась успешно.
@ping -n 1 128.0.0.1>NUL & IF ERRORLEVEL 1 (ECHO NO) ELSE ECHO OK
igor_andreev
С "&&" я лопухнулся - согласен, но почему интересно если тупо заменить моем варианте "&&" на "&" он так и не работает?
Понимаю, что дело в сравнении %errorlevel% == 0 (если это заменить на твой вариант - ERRORLEVEL 1 - то все работает) но разве так, как сравниваю я - НЕЛЬЗЯ???
С "&&" я лопухнулся - согласен, но почему интересно если тупо заменить моем варианте "&&" на "&" он так и не работает?
Понимаю, что дело в сравнении %errorlevel% == 0 (если это заменить на твой вариант - ERRORLEVEL 1 - то все работает) но разве так, как сравниваю я - НЕЛЬЗЯ???
mozers
Цитата:
C "нормальными" командами - можно. А ping.exe - дура В Windows 2000 она вообще никаких errorlevel не дает.
Пробовал свой вариант не из батника, а в консоли запустить? У меня XP, один раз пишет OK, потом все NO.
Обычно все примеры с ping идут с проверкой IF ERRORLEVEL 1, я так и пишу, чтоб не заморачиваться.
Цитата:
но разве так, как сравниваю я - НЕЛЬЗЯ???
C "нормальными" командами - можно. А ping.exe - дура В Windows 2000 она вообще никаких errorlevel не дает.
Пробовал свой вариант не из батника, а в консоли запустить? У меня XP, один раз пишет OK, потом все NO.
Обычно все примеры с ping идут с проверкой IF ERRORLEVEL 1, я так и пишу, чтоб не заморачиваться.
Цитата:
find
пользуйся переменной %ProgramFiles%
спасибо конечно, только это не решение проблемы.
такой путь C:\Progra~1\ просто обязан работать в системе.
Опять мне требуется помощь)
Нужен батник/прога который бы очищал заданную папку через некоторые промежутки времени. Возможно ли такое осуществить?
Заранее спасибо
Нужен батник/прога который бы очищал заданную папку через некоторые промежутки времени. Возможно ли такое осуществить?
Заранее спасибо
utka00
Например нужно очищать папку "c:\temp" каждые 10 минут
Код:
@echo off
:del_
pushd C:\Temp
rd /s /q C:\Temp 2>nul
ping -n 601 localhost>nul
goto del_
Например нужно очищать папку "c:\temp" каждые 10 минут
Код:
@echo off
:del_
pushd C:\Temp
rd /s /q C:\Temp 2>nul
ping -n 601 localhost>nul
goto del_
Maza Faka
Болбшое спасибо, то что надо
Болбшое спасибо, то что надо
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
Предыдущая тема: Problemi s zagruzkoy XP!
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.