Fsutil: Batchdatei Wie kann man eine Zeile haben, die der Benutzer nach oben in die cmd-Zeile einfügen kann?

341
Aaron Rice

Ich habe den folgenden Code, der cmd öffnet und einige spärliche Dateien erstellt, die Benutzereinträge verwenden, um einige Leerzeichen auszufüllen. Was ich nicht tun kann, ist, in der Lage zu sein, eine Zeile in dem Code zu haben, der sagen würde: C: \ Benutzer \ Benutzername \ Desktop .. Was ich möchte, ist, dass man leicht "C: \ Benutzer \ Benutzer" einfügen kann name \ desktop "Dann muss der Benutzer im Abschnitt" Benutzername "Ideen eingeben, wie ich dies tun würde? Ich habe versucht, ein Echo einzugeben und dann den Pfeil nach oben zu verwenden, um die Zeile nach unten zu kopieren, aber das funktioniert nicht. Ich hoffe, ihr habt etwas einfacher danke

 @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 
0

2 Antworten auf die Frage

0
Confuzing

Wouldn't this work?

set /p id="Enter Username: " set location="C:\users\%id%\Desktop" echo %location% 

Unless I misunderstand your question.

0
DavidPostill

Was ich möchte, ist, dass Sie diese "C: \ Benutzer \ Benutzername \ Desktop" problemlos einfügen können.

Lassen Sie den Benutzer dann im Abschnitt "Benutzername" alle Ideen angeben, wie ich dies tun würde

Sie müssen das überhaupt nicht tun. Das Benutzerprofil steht Ihnen bereits in der USERPROFILEUmgebungsvariablen zur Verfügung:

> echo %userprofile% C:\Users\DavidPostill 

Dies ist der Profilpfad, der bereits den Benutzernamen des aktuellen Benutzers enthält.

Ersetzen Sie also in Ihrer Batch-Datei

echo desktop path location is "c:\users\*your user name*\Desktop" 

Mit:

echo desktop path location is "c:\users\%userprofile%\Desktop" 

Bitte lesen Sie die Umgebungsvariablen, um zu sehen, welche anderen nützlichen Variablen bereits für Sie festgelegt sind.


danke dafür ..einmal mehr..können Sie das Benutzerprofil an die folgende Zeile übergeben: { T" Aaron Rice vor 6 Jahren 0
Ja. Ersetzen Sie "% _path% \% fname%" durch "" c: \ users \% userprofile% \ Desktop \% fname% "". Verwenden Sie "" um das gesamte Objekt, falls es Leerzeichen enthält. Entfernen Sie "set / p _path = Geben Sie den Dateipfad ein:", da Sie ihn nicht mehr benötigen. DavidPostill vor 6 Jahren 0