Fsutil: командный файл, как получить строку, которую пользователь может вставить стрелкой вверх, чтобы вставить строку в cmd?
У меня есть код ниже, который открывает cmd и создает несколько разреженных файлов, используя ввод пользователя, чтобы заполнить некоторые пробелы. мне кажется, что я не могу сделать так, чтобы в коде была строка с именем C:\users\user name\desktop..что я хочу, чтобы можно было легко вставить этот C: \ users \ user имя \ рабочий стол ", тогда попросите пользователя заполнить раздел" имя пользователя ", есть идеи, как мне это сделать? Я попытался ввести эхо, а затем использовать команду стрелка вверх, чтобы скопировать строку, но это не сработало, так что надеюсь, что вы, ребята, есть что-то проще, спасибо
@echo off
:start
COLOR 9B
TITLE Batch File Creation
echo ************************
echo * SPARSE FILE CREATION *
echo ************************
echo Standard File Sizes:
echo - 5mb = 5000000 bytes
echo - 10mb = 10000000 bytes
echo - 15mb = 15000000 bytes
echo - 20mb = 20000000 bytes
echo - File types can be any e.g. (xls, xlsx, jpg, png, doc, etc)
echo ************************
echo.
echo.
echo.
echo desktop path location is "c:\users\*your user name*\Desktop"
set /p _path=Enter the file Path :
set /p fname=Enter the Filename (e.g. test.xls) :
set /p fsize=Enter the filesize (in Mb) :
set /a sizeinbytes=fsize*1000*1000
fsutil file createnew %_path%\%fname% %sizeinbytes%
fsutil sparse setflag %_path%\%fname%
fsutil sparse setflag %_path%\%fname% 0 %sizeinbytes%
echo %fname% File Created!!
set /p _new=Would you like to create another file? [y]es, [n]o:
If /i "%_new%"== "y" GOTO :start Else end
end
2 ответа
Я хочу, чтобы можно было легко вставить этот "C:\users\user name\desktop"
Затем попросите пользователя заполнить раздел "имя пользователя", чтобы узнать, как я могу это сделать.
Вам не нужно делать это вообще. Профиль пользователя уже доступен для вас в USERPROFILE
переменная окружения:
> echo %userprofile%
C:\Users\DavidPostill
Это путь к профилю, и он уже содержит имя пользователя для текущего пользователя.
Так что в вашем командном файле заменить
echo desktop path location is "c:\users\*your user name*\Desktop"
С:
echo desktop path location is "c:\users\%userprofile%\Desktop"
Пожалуйста, прочитайте переменные окружения, чтобы увидеть, какие другие полезные переменные уже установлены для вас.
- Индекс AZ командной строки Windows CMD
- Категоризованный список команд Windows CMD
- Переменные среды. Переменные среды в основном используются в пакетных файлах, их можно создавать, изменять и удалять для сеанса с помощью команды SET.
Разве это не сработает?
set /p id="Enter Username: "
set location="C:\users\%id%\Desktop"
echo %location%
Если я не понимаю ваш вопрос.