dercreeper
Goto Top

USB-Stick mit Batch Datei erkennen

Ich habe ein Batch Programm entwickelt, welches dateien wenn ich es starte auf einen USB-Stick lädt. Alles schön und gut aber ich wollte einfügen, dass er erst nach einem USB-Stick sucht und wenn keiner gefunden wurde schreibt es das ganze auf eine CD. Wenn auch keine CD drin ist wird das Programm abgebrochen mit der Meldung:
...echo Es konnte kein Datenträger gefunden werden!
Es muss sich nicht automatisch starten, weil ich das selber kann, aber ich will bei notepad++ nicht immer d:\... und e:\... verändern.
Kann mir jemand dabei helfen.

(passende google ergebnisse habe ich auch nicht gefunden)

Grüße,
derCreeper

Content-Key: 339820

Url: https://administrator.de/contentid/339820

Printed on: April 16, 2024 at 20:04 o'clock

Member: H41mSh1C0R
H41mSh1C0R Jun 05, 2017 at 07:45:22 (UTC)
Goto Top
Member: Penny.Cilin
Penny.Cilin Jun 05, 2017 at 08:15:29 (UTC)
Goto Top
Moin,

sind das URL Umleiter?
Wenn ja, dann hat sich das Thema für mich erledigt.
Wenn URL Shortener eingesetzt werden, finde ich das nicht seriös.

Ich bin raus.


Gruss Penny
Member: Pedant
Pedant Jun 05, 2017 at 09:09:23 (UTC)
Goto Top
Hallo derCreeper,

diese Art Url gefällt mir auch überhaupt nicht.
In diesem Fall bedeuten sie lediglich:

Such mal im Netz mit diesen Begriffen
batch+laufwerk+suchen
batch+usb+stick+erkennen

Zitat von @derCreeper:
...dateien ... auf einen USB-Stick lädt. ...erst nach einem USB-Stick sucht und wenn keiner gefunden wurde schreibt es das ganze auf eine CD.

Um die Fallunterscheidungen eventuell zu vereinfachen, hier ein paar Nachfragen zu den Rahmenbedingungen:
  • Für welches Betriebssystem soll das funktionieren?
  • Reicht es, wenn es für genau einen Rechner individuell angepasst ist?
  • Welche Laufwerksbuchstaben sind vom System für interne Laufwerke fest belegt?
  • Hast Du genau ein CD-Brenner und welchen Buchstaben hat der?
  • Darf man davon ausgehen, dass wenn die Batch startet, kein Laufwerk per USB ageschlossen ist, das fürs Kopieren nicht genutzt werden darf?
  • Soll es ein beliebiger USB-Stick sein und egal ob leer oder nicht oder nutzt Du immer einen speziellen, den man an dessen Namen oder inhalt erkennen könnte?

Gruß Frank
Member: Pedant
Solution Pedant Jun 05, 2017 at 10:04:01 (UTC)
Goto Top
Hallo derCreeper,

ich habe mal ein Grundgerüst geschrieben.

@echo off

:: config
REM hier den Buchstaben des CD-R-Laufwerks eintragen
set buchstabe=e

:: skript für diskpart erzeugen
 >skript.txt echo list volume
>>skript.txt echo exit

:: Wechseldatenträger liste erzeugen
>liste.txt diskpart /s skript.txt

:: liste auswerten
for /f "tokens=3" %%d in ('find liste.txt "Wechsel"') do (  
	set buchstabe=%%d
)
REM buchstabe ist jetzt das letzte Wechseldatenträger-Laufwerk
REM oder falls keins gefunden, immernoch das CD-R-Laufwerk

:: laufwerk prüfen
REM hier fehlt noch Code zur Fallunterscheidung
 REM Fehlerfall
  REM echo Es konnte kein Datenträger gefunden werden!
  REM goto aufraumen
 REM Erfolgsfall
  REM goto kopieren

:kopieren
REM hier muss angepasst und/oder ergänzt werden
echo Kopieren auf Laufwerk %buchstabe%:
echo copy *.txt %buchstabe%:\
goto aufraumen

:aufraumen
if exist skript.txt del skript.txt
if exist liste.txt del liste.txt
goto ende

:ende

Gruß Frank
Member: Lochkartenstanzer
Lochkartenstanzer Jun 05, 2017 at 11:34:21 (UTC)
Goto Top
Zitat von @Penny.Cilin:

sind das URL Umleiter?

Ach wen url-verkürzer böse sind und ni ht verwebdet werden sollten:. Er hat nur eine unicersalanleitung verkinkt und wollte nur das ziel verschleiern.

lks

PS: linkverkürzer sind heutzutage ein nogo, weil man damit zuviel blödsinn anstellen kann.
Mitglied: 114685
114685 Jun 05, 2017 updated at 13:07:07 (UTC)
Goto Top
Moin,

Zitat von @Lochkartenstanzer:
PS: linkverkürzer sind heutzutage ein nogo,
besonders die mit xx.xx/ .

Wenn du davor aber noch ein Fast alle .. hinzufügst, stimme ich dir uneingeschränkt zu.

Der hier
http://preview.tinyurl.com/ya98yej2
kann aber mit Vorschau erzeugt werden, indem man den 'Kleinen' mit preview. bei Erstellen nutzt.

Gruß
Member: rubberman
Solution rubberman Jun 05, 2017 at 15:36:46 (UTC)
Goto Top
Könnte etwa so funktionieren:
@echo off &setlocal EnableDelayedExpansion

REM Auswerfbare Datenträger suchen
set "removable="  
for /f "tokens=2 delims==" %%i in ('2^>nul wmic logicaldisk where "DriveType=2" get DeviceID /value') do for /f %%j in ("%%i") do (  
  set "drive=%%j"  
  set "removable=!removable!!drive:~,1! "  
)

REM CD Laufwerke suchen
set "compactdisk="  
for /f "tokens=2 delims==" %%i in ('2^>nul wmic logicaldisk where "DriveType=5" get DeviceID /value') do for /f %%j in ("%%i") do (  
  set "drive=%%j"  
  set "compactdisk=!compactdisk!!drive:~,1! "  
)

REM Auswahl in Abhängigkeit von den gefundenen Laufwerken
set "disk="  
set "n=0"  
if defined removable (
  echo Removable Disk(s^):
  for %%i in (!removable!) do (set /a "n+=1" &echo %%i)  
  set "list=!removable: =!"  
  call :inp
) else if defined compactdisk (
  echo Compact Disk(s^):
  for %%i in (!compactdisk!) do (set /a "n+=1" &echo %%i)  
  set "list=!compactdisk: =!"  
  call :inp
) else (
  echo No Suitable Disk Found.
  pause
  exit /b
)

REM mach irgendwas mit Variable !disk! ...
echo(
echo Disk !disk! chosen.
pause

REM Hauptprogramm beenden
exit /b


REM Subroutine für die Eingabe
:inp
set "map= !list!"  
choice /c "!list!" /n /m "Enter the drive letter: "  
for /l %%i in (!n! -1 1) do if errorlevel %%i if not defined disk set "disk=!map:~%%i,1!:"  
exit /b
Grüße
rubberman
Member: Pedant
Pedant Jun 05, 2017, updated at Jun 29, 2017 at 13:03:32 (UTC)
Goto Top
Hallo,

irgendwie denk ich immer noch, dass hier Fragen eingestellt werden, weil echte Menschen um Hilfe bitten, zur Bewältigung ihrer Probleme oder Aufgaben, aber häufig kommt es mir so vor, als wäre es doch nur Bots, die Fragen generieren um hier Langeweile zu vermeiden.
144 Aufrufe, 7 Kommentare, zwei davon echte Lösungen, aber "nach Diktat verreist".

Gruß Frank