Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 25.11.2017
Сообщений: 37

Проверить, существует ли заданный (в качестве параметра) файл на диске

25.05.2018, 20:31. Показов 5034. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Нужна ваша помощь.

Даны 2 задачи.

1. Проверить, существует ли заданный (в качестве параметра) файл на диске. Выдать соответствующее сообщение на экран.

2. Создать пакетный файл, реализующий следующий алгоритм (вывести на экран имена файлов в директории, имя которой задано пользователем)

В первом, как я понял, надо создать переменную и при проверке на наличие какого-нибудь файла выводить сообщение о том, что он существует или нет.

А во втором надо вывести на экран список файлов в директории, которую мы вводим через консоль.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2018, 20:31
Ответы с готовыми решениями:

Проверить, существует ли файл на диске в cmd
Я написал следующий скрипт: @echo off d: if exist goddamn.txt ( echo File found. ) else ( echo File not found. ) ...

Проверить существует ли файл с именем fil.doc на диске.
Помогите пожалуйста решить Проверить существует ли файл с именем fil.doc на диске. Заранее спасибо!

Определить, является ли заданный в качестве параметра символ пробельным
создать функцию определяющую является ли заданный в качестве параметра символ пробельным. Символ задать в качестве параметра,...

7
 Аватар для kozidub21
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
25.05.2018, 20:37
emulzone,
И так, вопросы:

1) Файл будет задан, кто задаст путь до файла?

2) Через цикл, кто укажет директорию?

Не по теме:

Я очень рад что вы хотите понять.

Цитата Сообщение от emulzone Посмотреть сообщение
как я понял



Добавлено через 2 минуты
emulzone,
Вам нужно присвоить переменной один из аргументов, если по заданию использоваться скрипт должен только из командной строки.

Это можно сделать так:
Windows Batch file
1
set file=%~1
0
1 / 1 / 0
Регистрация: 25.11.2017
Сообщений: 37
25.05.2018, 20:42  [ТС]
1) путь можно оставить тот же где и находится сам батник, пользователь может задавать путь
2) директорию также указывает пользователь
0
 Аватар для kozidub21
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
25.05.2018, 20:47
emulzone,

Не по теме:


Ну а теперь, когда мы все выяснили, желаю вам успехов в познании. :)

0
1 / 1 / 0
Регистрация: 25.11.2017
Сообщений: 37
25.05.2018, 21:01  [ТС]
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo on
Setlocal
set proto=protokol.log
if exist %proto% del %proto%
 
for %%A in (%*) do (
  if not defined skip1 (
      set skip1=True
    ) else (
      dir /b "%%~A\%~1">nul&& echo "%%~A">> "%proto%"
  )
)
 
if exist %proto% echo File "%~1" exists.
EndLocal
pause
Не могу понять как вывести сообщение что нашел или нет
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
25.05.2018, 23:02
Цитата Сообщение от emulzone Посмотреть сообщение
вывести на экран имена файлов в директории, имя которой задано пользователем
Windows Batch file
1
2
3
4
5
@echo off
echo Задайте директорию:& set /p spath=
if not defined spath set "spath=%~dp0"
dir /-d/b "%spath%"
pause
что вы там воротите - непонятно или условия меняются через каждый час?
0
 Аватар для kozidub21
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
26.05.2018, 13:14
emulzone,
Другое дело!

Мне нравится ваша логика, так искусно на костылях ещё никто не танцевал

Но, думаю при всем желании даже самый отважный танцор без ног не сможет танцевать на ТРЕХ костылях, следовательно, нужно один убрать, следовательно, работа с файлами, думаю, тут не нужна.

Ваш отредактированный код:
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
setlocal enableextensions enabledelayedexpansion
set exi=0
for %%h in (%*) do (if not defined ski (set ski=True) else (dir /a-d /b "%%~h\%~1" >nul&& set exi=1))
echo !exi!
endlocal
timeout /t -1
@exit
Я так понял, что данный код относится к первой задаче, исходя из того, что вам нужно узнать существование файла, меняю dir /b на dir /a-d /b (Исключаем папки).
1
30.05.2018, 00:27
 Комментарий модератора 
Один вопрос - одна тема. Тема закрыта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2018, 00:27
Помогаю со студенческими работами здесь

Искать файл, который задан в качестве первого параметра, в каталогах, заданных в качестве остальных параметров
Нужен командный файл, который будет искать файл, который задан в качестве первого параметра в каталогах, заданных в качестве остальных...

Написать функцию, которая транспонирует заданный в качестве параметра массива типа int
Написать функцию, которая транспонирует заданный в качестве параметра массива типа int (т.е. меняет местами равноудаленные от концов...

Пакетный файл, который будет осуществлять поиск файла, заданного в качестве первого параметра в каталогах, заданных в качестве остальных параметров
Написать пакетный файл, который будет осуществлять поиск файла, заданного в качестве первого параметра в каталогах, заданных в качестве...

Как проверить, существует ли папка на диске?
Какая команда позволяет проверить (сравнить), существует ли папка по указанному пути на диске, и если да, получить список её файлов.

Написать и протестировать функцию, которая в строке, передаваемой ей в качестве параметра, заменяет каждый второй элемент на заданный символ.
помогите ребят!!! вот препод задал мне задачи для зачетной недели, фактически все сделал,кроме этой: "Написать и протестировать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Закрытая тема Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru