мой пакетный скрипт дает имя файла, ошибка имен каталогов

когда я запускаю этот скрипт

@echo off
for /F "usebackq delims=" %%I in ("%userprofile%\desktop\myfile.txt") do type NUL > "%userprofile%\desktop\user\%%I.mp3"
pause
exit

я получаю эту ошибку

неверный синтаксис имени файла, имени каталога или метки тома

может кто поможет исправить ошибку


person Ribo01    schedule 11.04.2016    source источник
comment
проверьте содержимое %%I. Вы, вероятно, хотите что-то вроде %%~nxI. См. for /? для справки.   -  person Stephan    schedule 11.04.2016
comment
Не зная содержимого файла myfile.txt, трудно понять, что происходит на самом деле. Можете ли вы опубликовать образец вашего файла myfile.txt?   -  person Wes Larson    schedule 11.04.2016
comment
Замените type NUL > на echo, чтобы увидеть имена файлов и сравнить с Правила именования файлов, путей и пространств имен.   -  person JosefZ    schedule 12.04.2016


Ответы (1)


Стефан и Уэс упомянули в своих комментариях наиболее вероятный источник вашей проблемы.

Ваш myFile.txt, скорее всего, содержит полный путь к некоторым файлам или папкам, включая букву диска. %USERPROFILE% также содержит полный путь с буквой диска. Предположим, что пользователь — «someUser», а путь в файле — «c:\somePath\someFile.ext», тогда вы получите:

echo nul >"C:\Users\someUser\desktop\user\c:\somePath\someFile.ext.mp3"

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

Вы можете решить эту проблему, сохранив только имя файла через %%~nI, что приведет к:

echo nul >"C:\Users\someUser\desktop\user\someFile.mp3"

Меня все еще беспокоит папка «пользователь» на вашем рабочем столе. Это выглядит подозрительно. Если эта папка не существует, вы получите другое сообщение об ошибке: The system cannot find the path specified.

person dbenham    schedule 11.04.2016
comment
@Wes Larson, текстовый файл содержит только разные имена в каждой строке. Основная цель сценария - создать файл Mp3 с именами в текстовом файле. - person Ribo01; 12.04.2016