Is there a reason you want to use a command prompt style rather than a stand alone script? Using a stand alone script will still be running completely outside of the GUI.Here is an example on how you can do a command prompt style:
import os
import arcpy
import glob
ws = raw_input("Set the input workspace for my .las files\n")
las_files = glob.glob(os.path.join(ws, '*.las'))
# create dictionary
las_dict = dict(enumerate(las_files))
las_dict[len(las_files)] = 'Include all .las files in this list'
# print menu
for num,las in sorted(las_dict.iteritems()):
print '{0}: {1}'.format(num, las)
inLas = raw_input("\n\ncreate a comma separated list for all .las data sets " +
"you want to include\nor choose {0} to select all .las files (ex 1,2,3,7)\n".format(max(las_dict.keys())))
# choose full path for output .lasd file
lasD = raw_input('\nEnter full path to output .lasd file (ex. C:\Full_path\To_output\las_data.lasd)\n')
print "..and finally we will create the new LAS Dataset"
if ',' in inLas:
inLas = map(lambda x: las_dict[int(x)], inLas.split(','))
else:
if int(inLas) == len(las_files):
inLas = las_files
else:
inLas = las_dict[int(inLas)]
arcpy.management.CreateLasDataset(inLas,lasD)
raw_input('Process complete...hit enter to close')
Or how I would do it as a stand alone script:
import os
import arcpy
import glob
# this is a folder containing .las files
ws = r'C:\some_path\to_your\las_files'
# get list of .las files
inLas = glob.glob(os.path.join(ws, '*.las'))
print 'found {0} .las files'.format(len(inLas))
print inLas
# name of output LAS data set
lasD = r'C:\full_path\to_output\las_data.lasd'
print "..and finally we will create the new LAS Dataset"
arcpy.management.CreateLasDataset(inLas,lasD)
print 'Process complete.'