Я не программист, и я надеюсь, что вы можете мне помочь. Я использую Windows 7.

У меня есть .BAT-файл, который до вчерашнего дня работал нормально, особенно то, что в случае сбоя используется команда "break", которую я использую для очистки содержимого ряда текстовых файлов. Теперь, когда я запускаю команду, я получаю сообщение об ошибке "Отказано в доступе".

Вот команда, которая дает мне сообщение об ошибке:

установите Date1 = 10-26-14

перерыв> e:\folder1\folder2\% Date1%\file1.txt

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

 E:\folder1\folder2>break  \file1.txt  1>e:\folder1\folder2\10-26-14

В доступе отказано

Как ни странно, команда отлично работает в другом.BAT файлы у меня есть. Ниже приведена команда "break" из этого.BAT-файл и соответствующий текст, который появляется в командном окне. Обратите внимание, как текст командного окна, отображаемый в этом командном окне, отличается от приведенного выше текста командного окна, сопровождающего оператор ошибки

set Date1=10-26-14   
break > e:\folder1\folder2\%Date1%\file2.txt 

Текст, отображаемый в командном окне

E:\folder1\folder2>break   1>e:\folder1\folder2\10-26-14\file2.txt

Любые мысли, что я могу сделать, чтобы исправить проблему?

2 ответа2

2

Моя команда «перерыв» не работает

Вам нужно найти альтернативное решение. break не влияет на Windows.

перерыв /?

Устанавливает или очищает расширенную проверку CTRL+C в системе DOS

Это присутствует для совместимости с системами DOS. Это не имеет никакого эффекта под Windows.

Если расширения команд включены и работают на платформе Windows, то команда BREAK вводит жестко заданную точку останова, если она отлаживается отладчиком.

Чтобы создать пустой файл:

  1. Удалите существующий файл, используя del.

  2. Создайте пустой файл. Несколько способов сделать это можно найти в разделе Как создать пустой текстовый файл из командного файла? ,


Дальнейшее чтение

1

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

set "Date1=10-26-14"
break > "e:\folder1\folder2\%Date1%\file1.txt"

Хотя это должно работать без проблем, это более понятно для использования

type nul > "e:\folder1\folder2\%Date1%\file1.txt"

С тем же самым 0-байтовым файлом, сгенерированным, но теперь более ясно, что делает код

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .